vb程序:用二分法求方程在(-10、10)之间的根。2X3-4X2+3X-6=0

来源:百度知道 编辑:UC知道 时间:2024/06/16 21:32:54
vb程序:用二分法求方程在(-10、10)之间的根。2X3-4X2+3X-6=0
如何写程序,谢谢

Private Sub Form_Load()
MsgBox GetRoot(-10, 10)
End Sub
Function GetRoot(Optional o1 As Double, Optional o2 As Double) As Double
Dim x As Double
Dim y As Double
Dim r As Double
x = (o2 + o1) / 2
y = 2 * 3 - 4 * 2 + 3 * x - 6 'y=3*x-8
If Abs(y) < 0.001 Then
GetRoot = x
Else
If y < 0 Then
r = GetRoot(x, o2)
Else
r = GetRoot(o1, x)
End If
GetRoot = r
End If
End Function

定义一个循环,然后加if判断就可以了吧

若f(x)在[a,b]区间有一个值,有个图,f(x)与f(y)在[a,b]区间上有一个交点,所以f(a),f(b)的符号必然相反,
取a和b的中点c=(a+b)/2,这叫二分,把区间分成两半
然后判断根在哪个区间,丢掉另一半区间,这样不断地逼近根在的那个点,直到求出根。

为啥高中不讲~