Решение уравнения методом простых итераций - VB
Формулировка задачи:
Помогите пожалуйста найти ошибку в программе
Листинг программы
- Sub отделение_корней()
- Dim a As Single, b As Single, h As Single, y2 As Single, x As Single, y1 As Single
- a = -2: b = 2: h = 0.5: y2 = f(a)
- For x = a To b Step h
- y1 = y2: y2 = f(x + h)
- If y1 * y2 <= 0 Then метод_итераций x, x + h
- Next x
- End Sub
- Function f(x As Single) As Single
- f = (1 + Cos(x)) / (3 - Sin(x)) - 0.5
- End Function
- Function f1(x As Single) As Single
- f1 = 1 / (2 * Sqr(x)) * 2 * x
- End Function
- Sub метод_итераций()
- Const e = 0.0001
- Dim x As Single, x1 As Single, q As Single, e0 As Single
- x = 0.3
- Do
- x1 = x: x = f(x)
- Loop While Abs(x - x1) > e
- q = f1(x)
- If q > 0 Then e0 = e * q / (1 - q) Else e0 = e
- Debug.Print x, e0
- End Sub
Решение задачи: «Решение уравнения методом простых итераций»
textual
Листинг программы
- Function f(x As Single) As Single
- f = (1 + Cos(x)) / (3 - Sin(x)) - 0.5
- End Function
- Function f1(x As Single) As Single
- f1 = 1 / (2 * Sqr(x)) * 2 * x
- End Function
- Sub метод_итераций()
- Const e = 0.0001
- Dim x As Single, x1 As Single, q As Single, e0 As Single
- x = 0.3
- Do
- x1 = x: x = f(x)
- Loop While Abs(x - x1) > e
- q = f1(x)
- If q > 0 Then e0 = e * q / (1 - q) Else e0 = e
- Debug.Print x, e0
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д