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

📄 mjacobieigenvmainmodule.bas

📁 科学与工程数值计算算法(Visual Basic版) 附赠的光盘包含了本书中全部的源代码
💻 BAS
字号:
Attribute VB_Name = "MainModule"
Sub Main()
    Dim i As Integer, j As Integer
    Dim n As Integer, nIt As Integer
    Dim eps As Double
    
    n = 3
    nIt = 60
    eps = 0.000001

    ReDim mtxA(n, n) As Double
    ReDim mtxB(n, n) As Double
    ReDim mtxV(n, n) As Double
    Dim sEigenVector As String, sEigenValue As String
                
    ' 原矩阵
    mtxA(1, 1) = 2:  mtxA(1, 2) = -1: mtxA(1, 3) = 0
    mtxA(2, 1) = -1:  mtxA(2, 2) = 2: mtxA(2, 3) = -1
    mtxA(3, 1) = 0:  mtxA(3, 2) = -1: mtxA(3, 3) = 2

    ' 备份原矩阵
    For i = 1 To n
        For j = 1 To n
            mtxB(i, j) = mtxA(i, j)
        Next j
    Next i
    
    ' 求解特征值和特征向量
    If MJacobiEigenv(n, mtxA, mtxV, eps, nIt) Then
        
        For i = 1 To n
            For j = 1 To n
                If (i = j) Then sEigenValue = sEigenValue + Format(mtxA(i, j), "######0.0000000") + "  "
            Next j
            
            sEigenVector = sEigenVector & i & ": " & MatrixColToString(n, i, mtxV, "######0.0000000") & Chr(13)
        Next i
        
        MsgBox "求解成功!" & Chr$(13) & Chr$(13) & _
               "原矩阵为" & Chr$(13) & Chr$(13) & _
               MatrixToString(n, n, mtxB, "######0.0000000") & Chr$(13) & _
               "特征值为" & Chr$(13) & Chr$(13) & _
               sEigenValue & Chr$(13) & Chr$(13) & _
               "特征向量为" & Chr$(13) & Chr$(13) & _
               sEigenVector

    Else
         MsgBox "求解失败!"
    End If

End Sub

⌨️ 快捷键说明

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