⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nlgradmainmodule.bas

📁 求解非线性方程的方法
💻 BAS
字号:
Attribute VB_Name = "MainModule"
Sub Main()
    Dim n As Integer, nMaxIt As Integer
    Dim s As String
    
    ' 3次方程
    n = 3
    
    ' 分配初值和解的内存
    ReDim x(n) As Double
    
    ' 初值数组
    x(1) = 1.5
    x(2) = 7.5
    x(3) = -6
    
    ' 迭代次数
    nMaxIt = 1200
    
    '求解
    If NLGrad(n, x, nMaxIt, 0.0000000001, 0.0000000001) Then
        s = ""
        For i = 1 To n
            s = s & "x(" & i & ") = " & x(i) & Chr(13)
        Next i
        
        MsgBox "求解成功!" & Chr(13) & Chr(13) & s
    Else
        MsgBox "求解失败"
    End If
    
End Sub

Function Func(x() As Double) As Double
    Func = (x(1) - 5 * x(2) * x(2) + 7 * x(3) * x(3) + 12) * (x(1) - 5 * x(2) * x(2) + 7 * x(3) * x(3) + 12) + _
           (3 * x(1) * x(2) + x(1) * x(3) - 11 * x(1)) * (3 * x(1) * x(2) + x(1) * x(3) - 11 * x(1)) + _
           (2 * x(2) * x(3) + 40 * x(1)) * (2 * x(2) * x(3) + 40 * x(1))
End Function

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -