牛顿迭代的_xuruiapple的空间_百度空间
没用过MATLAB,但是语言是相通的,修改一下即可。呵呵,还是vb简单
以下是VB代码

Sub p1()
'牛顿迭代法
n = 0
xx = 2
x = 4 '设定初值

x1 = x - func2_1(x) / func2_1_1(x)
If Abs(x1) < xx Then
    delt = Abs(x1 - x)
Else
    delt = Abs((x1 - x) / x1)
End If

Do While (delt > 0.000001 or Abs(func2_1(x)) > 0.000001)
    n = n + 1

    x = x1
    x1 = x - func2_1(x) / func2_1_1(x)
    If (Abs(x1) < xx) Then
        delt = Abs(x1 - x)
        Debug.Print x1, delt, "1"
    Else
        delt = Abs((x1 - x) / x1)
          Debug.Print x1, delt, "2"
    End If
    If func2_1(x1) = 0 Then
        Exit Do
    End If
Loop

Debug.Print "牛顿迭代法结果", x1, "迭代次数" & n
End Sub


Private Function func2_1(ByVal x As Double) As Double
'原方程
func2_1 =x ^ 2 - x - 1
End Function

Private Function func2_1_1(ByVal x As Double) As Double
'原方程的求导后
func2_1_1 = 2 * x - 1
If func2_1_1 = 0 Then func2_1_1 = 0.00000001 '避免因为以0做除数而溢出
End Function



郑重声明:资讯 【牛顿迭代的_xuruiapple的空间_百度空间】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——