Форум программистов, компьютерный форум, киберфорум
Наши страницы
VBA
Войти
Регистрация
Восстановить пароль
 
Вылентиша
0 / 0 / 0
Регистрация: 02.11.2015
Сообщений: 32
1

Рекуррентные вычисления

18.02.2016, 19:23. Просмотров 249. Ответов 2
Метки нет (Все метки)

Для других рядов эта прога работала, а с этим не хочет, может рекуррентную неверно вывожу, может одно из двух. помогите

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
Private Sub CommandButton1_Click()
Dim n As Long, i As Long
Dim s As Double, a As Double, x As Double
n = Val(TextBox1.Text)
x = Val(TextBox2.Text)
a = 1
s = 0
For i = 0 To n
s = s + a
a = -a * x ^ 2 * (3 ^ (2 * i + 2) + 3) / (2 * i + 1) * (2 * i + 2) * (3 ^ (2 * i) + 3)
Next i
TextBox3.Text = Str(s)
End Sub
Private Sub CommandButton2_Click()
Dim i As Integer
Dim s As Single, a As Single
Dim st As Single, e As Single
e = Val(TextBox5.Text)
x = Val(TextBox4.Text)
a = 1
s = 0
i = 0
st = (Cos(x)) ^ 3
While Abs(s - st) >= e
s = s + a
a = a = -a * x ^ 2 * (3 ^ (2 * i + 2) + 3) / (2 * i + 1) * (2 * i + 2) * (3 ^ (2 * i) + 3)
i = i + 1
Wend
TextBox6.Text = Str(i - 1)
TextBox10.Text = Str(s)
End Sub
 
Private Sub CommandButton3_Click()
Dim i As Integer, e As Single
Dim s As Single, a As Single, x As Single
e = Val(TextBox8.Text)
x = Val(TextBox7.Text)
a = 1
s = 0
i = 0
While Abs(a) >= e
s = s + a
a = a = -a * x ^ 2 * (3 ^ (2 * i + 2) + 3) / (2 * i + 1) * (2 * i + 2) * (3 ^ (2 * i) + 3)
i = i + 1
Wend
TextBox9.Text = Str(i - 1)
TextBox11.Text = Str(s)
End Sub
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.02.2016, 19:23
Ответы с готовыми решениями:

Не работает программа (Рекуррентные формулы)
Помогите найти ошибку в программе, задача такая:используя формулу для элементов...

Программа вывода любой функции через рекуррентные соотношения
Помогите, пожалуйста!! Я биолог, я ни черта не понимаю в программировании:cry:...

рекуррентные вычисления
цикл for считает неправильно ... где может быть ошибка там?..... program...

Рекуррентные вычисления на C++
1)Составить графическую схему алгоритма и программу нахождения К-го члена...

Итерационные и рекуррентные вычисления кубического корня
Задание в приложении. Мое решение (не считает) program partII; var x,...

2
Вылентиша
0 / 0 / 0
Регистрация: 02.11.2015
Сообщений: 32
18.02.2016, 19:28  [ТС] 2
Вот сам ряд. может рекуррентная неверная.
0
Миниатюры
Рекуррентные вычисления  
Казанский
14157 / 5855 / 1536
Регистрация: 24.09.2011
Сообщений: 9,202
19.02.2016, 00:59 3
Цитата Сообщение от Вылентиша Посмотреть сообщение
a = a = -a * ...
Тут что-то не так

Добавлено через 4 часа 43 минуты
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Function Cos3(ByVal x As Double, Optional ByVal e As Double = 0.000001) As Double
Dim i As Long, triN As Double, xN_znam As Double, a As Double
  e = e * 4   'сумма ряда потом делится на 4, так что допуск можно увеличить в 4 раза
  x = -x * x  '-x^2 для умножения в цикле
  triN = 1    'степень тройки
  xN_znam = 1 'степень х, деленная на знаменатель
  Do
    a = (triN + 3) * xN_znam 'очередной член ряда
    Cos3 = Cos3 + a
    If Abs(a) < e Then Exit Do
    triN = triN * 9
    i = i + 2
    xN_znam = xN_znam * x / (i - 1) / i
  Loop
  Cos3 = Cos3 / 4
End Function
Проверка - сравнение с Cos(x)^3. Кстати, ограничение Х<1 необосновано, ряд сходится при любом Х. При больших Х точность вычислений падает, но точность не хуже 10-6 обеспечивается при |X|<9.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Sub test()
Dim x#, f#, c#, d$
  d = "0.00000000"
  x = 0.1
  Debug.Print "x", "ряд", "Cos(x) ^ 3", "погрешность"; vbLf; String(50, "-")
  Do While x < 11
    f = Cos3(x): c = Cos(x) ^ 3
    Debug.Print Format(x, d), Format(f, d), Format(c, d), Format(Abs(f - c), "0.0E-00")
    x = x * 1.25
  Loop
End Sub
Результат в Immediate
Код
x             ряд           Cos(x) ^ 3    погрешность
--------------------------------------------------
0,10000000    0,98508725    0,98508725    4,1E-10
0,12500000    0,97677515    0,97677516    2,4E-09
0,15625000    0,96389676    0,96389676    3,5E-11
0,19531250    0,94403881    0,94403881    3,3E-10
0,24414063    0,91364835    0,91364835    3,0E-09
0,30517578    0,86768875    0,86768875    1,8E-10
0,38146973    0,79948489    0,79948489    2,6E-09
0,47683716    0,70129456    0,70129456    4,3E-10
0,59604645    0,56676216    0,56676215    9,7E-09
0,74505806    0,39714404    0,39714405    4,6E-09
0,93132257    0,21253383    0,21253383    4,1E-09
1,16415322    0,06187754    0,06187754    7,3E-09
1,45519152    0,00153473    0,00153470    2,6E-08
1,81898940    -0,01482398   -0,01482399   8,6E-09
2,27373675    -0,27016728   -0,27016728   9,3E-09
2,84217094    -0,87237238   -0,87237242   3,5E-08
3,55271368    -0,77027163   -0,77027159   3,7E-08
4,44089210    -0,01928632   -0,01928630   1,8E-08
5,55111512    0,41148583    0,41148591    8,2E-08
6,93889390    0,49795328    0,49795333    4,1E-08
8,67361738    -0,39045363   -0,39045324   3,9E-07
10,84202172   -0,00324547   -0,00357806   3,3E-04
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.02.2016, 00:59

Напишите программу для вычисления элементов заданной последовательности, предварительно составив рекуррентные уравнения
Спасите .............зарание благадарна Напишите программу для вычисления...

Рекуррентные и частично рекуррентные выражения в циклах
Рекурентні та частково рекурентні вирази у циклах Помогите сделать 11...

Рекуррентные последовательности!
Ребята, привет! Очень срочно нужна помощь! Есть задание(см.аттач). Никак не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru