注册 登录
编程论坛 VB6论坛

新人求教 二分法求根

yihijbi 发布于 2017-05-06 14:17, 1140 次点击
为什么我一运行结果就是(1+4)/2=2.5   根本不循环????
Private Sub Form_Load()

    Dim l As Double, u As Double, m As Double
   
    l = 1
    u = 4
    f = x ^ 3 + 4 * x ^ 2 - 10
     m = (u + l) / 2
            
    Do While (u - l) > 0.001
   
        
        If fm * fl = 0 Then Exit Do
        If fm * fl > 0 Then
            l = m
           
        Else
            u = m

        End If
    Loop
    MsgBox "x=" & m
End Sub
3 回复
#2
yihijbi2017-05-06 14:20
求的是x ^ 3 + 4 * x ^ 2 - 10 在(1,4)的近似根
#3
ZHRXJR2017-05-06 16:18
If fm * fl = 0 Then Exit Do  变量fm,fl没有值,当然 fm * fl = 0 了,因此立即退出循环。
看不懂你的这个程序怎么解  x ^ 3 + 4 * x ^ 2 - 10 ,三次方程不是这样的算法吧。
#4
xiangyue05102017-05-06 18:43
你以为写成这样,就是f(l)了?? 拜托,那最基本的都没学好
程序代码:

l = 1
f = x ^ 3 + 4 * x ^ 2 - 10
fl


[此贴子已经被作者于2017-5-6 18:48编辑过]

1