mcinvmainmodule.bas

来自「各种矩阵运算」· BAS 代码 · 共 59 行

BAS
59
字号
Attribute VB_Name = "MainModule"
Sub Main()
    Dim mtxAR(4, 4) As Double, mtxAI(4, 4) As Double
    Dim mtxBR(4, 4) As Double, mtxBI(4, 4) As Double
    Dim mtxCR(4, 4) As Double, mtxCI(4, 4) As Double
    Dim s1 As String, s2 As String
        
    ' 原矩阵
    mtxAR(1, 1) = 0.2368:  mtxAR(1, 2) = 0.2471:  mtxAR(1, 3) = 0.2568:  mtxAR(1, 4) = 1.2671
    mtxAR(2, 1) = 1.1161:  mtxAR(2, 2) = 0.1254:  mtxAR(2, 3) = 0.1397:  mtxAR(2, 4) = 0.149
    mtxAR(3, 1) = 0.1582:  mtxAR(3, 2) = 1.1675:  mtxAR(3, 3) = 0.1768:  mtxAR(3, 4) = 0.1871
    mtxAR(4, 1) = 0.1968:  mtxAR(4, 2) = 0.2071:  mtxAR(4, 3) = 1.2168:  mtxAR(4, 4) = 0.2271
    
    mtxAI(1, 1) = 0.1345:  mtxAI(1, 2) = 0.1678:  mtxAI(1, 3) = 0.1875:  mtxAI(1, 4) = 1.1161
    mtxAI(2, 1) = 1.2671:  mtxAI(2, 2) = 0.2017:  mtxAI(2, 3) = 0.7024:  mtxAI(2, 4) = 0.2721
    mtxAI(3, 1) = -0.2836: mtxAI(3, 2) = -1.1967: mtxAI(3, 3) = 0.3558:  mtxAI(3, 4) = -0.2078
    mtxAI(4, 1) = 0.3576:  mtxAI(4, 2) = -1.2345: mtxAI(4, 3) = 2.1185:  mtxAI(4, 4) = 0.4773

    
    ' 备份原矩阵
    For i = 1 To 4
        For j = 1 To 4
            mtxBR(i, j) = mtxAR(i, j)
            mtxBI(i, j) = mtxAI(i, j)
        Next j
    Next i

    '求解
    If MCinv(4, mtxAR, mtxAI) Then
        
        ' 复矩阵乘法
        Call MCmul(4, 4, 4, mtxBR, mtxBI, mtxAR, mtxAI, mtxCR, mtxCI)
        
        s1 = "求解成功!" & Chr$(13) & Chr$(13)
        s1 = s1 + "矩阵AR为" & Chr$(13) & Chr$(13)
        s1 = s1 + MatrixToString(4, 4, mtxBR, "######0.0000000") & Chr$(13) & Chr$(13)
        s1 = s1 + "矩阵AI为" & Chr$(13) & Chr$(13)
        s1 = s1 + MatrixToString(4, 4, mtxBI, "######0.0000000") & Chr$(13) & Chr$(13)
        s1 = s1 + "逆矩阵AR-为" & Chr$(13) & Chr$(13)
        s1 = s1 + MatrixToString(4, 4, mtxAR, "######0.0000000") & Chr$(13) & Chr$(13)
        s1 = s1 + "逆矩阵AI-为" & Chr$(13) & Chr$(13)
        s1 = s1 + MatrixToString(4, 4, mtxAI, "######0.0000000") & Chr$(13) & Chr$(13)
        
        s2 = "矩阵AR与其逆矩阵AR-之乘积矩阵为" & Chr$(13) & Chr$(13)
        s2 = s2 + MatrixToString(4, 4, mtxCR, "######0.0000000") & Chr$(13) & Chr$(13)
        s2 = s2 + "矩阵AI与其逆矩阵AI-之乘积矩阵为" & Chr$(13) & Chr$(13)
        s2 = s2 + MatrixToString(4, 4, mtxCI, "######0.0000000")
                
        MsgBox s1
        MsgBox s2
        
    Else
        MsgBox "求解失败!"
    End If
    
End Sub


⌨️ 快捷键说明

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