Табулирование функции и суммы функционального ряда - VB (59406)
Формулировка задачи:
Протабулировать
1. функцию y на отрезке [а, b] с шагом h.
2. сумму S функционального ряда разложения этой функции на отрезке [а, b] с шагом h.
Сравнить значения заданной функции и ее разложения.
Вид вычисляемой функции задать с помощью подпрограммы-функции. Функциональный ряд S вычисляется с точностью до e по соответствующей рекуррентной формуле.
S=1 + x/1! + x^2/2! + ... + x^n/n!
1<=x<=2
e=15^(-4)
y=e^x
Сумма и функция должны быть примерно одинаковыми. В теле программы "y" находит правильно, но в подпрограмме-функции почему-то считает неправильно.
Функцию y надо задать с помощью подпрограммы?
Уже все перепробовал. Не могу понять, почему подпрограмма неправильно считает f(x). Может я неправильно задание понял?
Вид вычисляемой функции задать с помощью подпрограммы-функции. Функциональный ряд S вычисляется с точностью до e по соответствующей рекуррентной формуле.
Решение задачи: «Табулирование функции и суммы функционального ряда»
textual
Листинг программы
Function f(x, ByVal N As Long, B, E) As Double If x ^ N / FAKT(N) > E Then f = f + f(x, N + 1, f, E) Else f = 1 End If f = f + x ^ N / FAKT(N) End Function Function FAKT(p) If p > 1 Then FAKT = FAKT(p - 1) * p Else FAKT = 1 End If End Function Private Sub Комманда1_Click() Dim i a = 1 'Val(Text1) B = 2 'Val(Text2) h = 0.1 'Val(Text3) N = (B - a) / h + 1 p = 1 S = 1 E = 15 ^ (-4) For x = 1 To N Step h B = f(x, 1, 1, E) Список1.AddItem B ' сумма ряда Список2.AddItem Exp(x) ' экспонента Next x End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д