Вычисления корня уравнения методом итераций - VB
Формулировка задачи:
Вот само задание по методичке:
вот мое условие: Ln(X^2+1.2)-X= 0; E= 0,0001 X0=1.5
Делаю так:
получаю переполнение.
Кто объяснит, в чем я не прав?
Листинг программы
- Sub lab4()
- ' вычисление корня уравнения методом итераций
- E = 0.0001
- X0 = 1
- X = (X0 + 1) ^ (1 / 3)
- While Abs(X - X0) > E
- X0 = X
- X = (X0 + 1) ^ (1 / 3)
- Debug.Print "X="; X
- Wend
- Debug.Print
- F = X ^ 3 - X - 1
- Debug.Print "корень = "; X
- Debug.Print "F= "; F
- End
- End Sub
Листинг программы
- Dim x0 As Single, x As Single
- Const e = 0.0001
- x0 = 1.5
- x = (Exp(x0) - 1.2) ^ (1 / 2)
- Do While Abs(x - x0) > e
- x0 = Round(x, 5)
- x = (Exp(x0) - 1.2) ^ (1 / 2)
- Loop
- F = Log(x ^ 2 + 1.2) - x
Решение задачи: «Вычисления корня уравнения методом итераций»
textual
Листинг программы
- Dim x0 As Single
- Dim x As Single
- Dim F As Single
- Const e = 0.0001
- '
- x0 = 1.5
- 'x = (Exp(x0) - 1.2) ^ (1 / 2)
- x = Log(x0 ^ 2 + 1.2)
- Do While Abs(x - x0) > e
- x0 = x
- x = Log(x0 ^ 2 + 1.2)
- Loop
- MsgBox "X=" + Str$(x) + " X0=" + Str$(x0)
- F = Log(x ^ 2 + 1.2) - x
- MsgBox "F=" + Str$(F)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д