Протабулировать функцию y на отрезке [а, b] с шагом h - VB
Формулировка задачи:
Протабулировать
1. функцию y на отрезке [а, b] с шагом h.
2. сумму S функционального ряда разложения этой функции на отрезке [а, b] с шагом h.
Сравнить значения заданной функции и ее разложения.
Все работает, но вот сумма ряда, начиная со второго, очень сильно отличается от значения функции, хотя они должны быть близки по значению. Может где-то есть ошибка? Помогите пожалуйста.
Листинг программы
- Function f(x)
- f = x * (3 - x) / (1 - x) ^ 3
- End Function
- Private Sub Command1_Click()
- Picture1.Cls
- Picture2.Cls
- Picture3.Cls
- a = Val(Text1)
- b = Val(Text2)
- h = Val(Text3)
- e = 40 ^ (-5)
- s = 0
- For x = a To b Step h
- y = f(x)
- For n = 1 To 50000
- q = n * (n + 2) * x ^ n
- s = s + q
- If Abs(q) < e Then Exit For
- Next n
- Picture3.Print s
- Picture1.Print x
- Picture2.Print y
- Next x
- End Sub
Решение задачи: «Протабулировать функцию y на отрезке [а, b] с шагом h»
textual
Листинг программы
- Option Explicit
- Dim a As Double, b As Double, h As Double, e As Double, s As Double
- Dim q As Double, n As Double, x As Double, y As Double
- Function f(x)
- f = x * (3 - x) / (1 - x) ^ 3
- End Function
- Private Sub Command1_Click()
- Picture1.Cls
- Picture2.Cls
- Picture3.Cls
- a = Val(Text1)
- b = Val(Text2)
- h = Val(Text3)
- e = 40 ^ (-5)
- s = 0
- For x = a To b Step h
- y = f(x): s = 0
- For n = 1 To 50000
- q = n * (n + 2) * x ^ n
- s = s + q
- If Abs(q) < e Then Exit For
- Next n
- Picture3.Print s
- Picture1.Print x
- Picture2.Print y
- Next x
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д