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

📄 d1r6.frm

📁 矩阵特征值的求解过程之二
💻 FRM
字号:
VERSION 5.00
Begin VB.Form Form1 
   Caption         =   "Form1"
   ClientHeight    =   4830
   ClientLeft      =   60
   ClientTop       =   345
   ClientWidth     =   4680
   LinkTopic       =   "Form1"
   ScaleHeight     =   4830
   ScaleWidth      =   4680
   StartUpPosition =   3  'Windows Default
   Begin VB.CommandButton Command1 
      Caption         =   "Command1"
      Height          =   375
      Left            =   3120
      TabIndex        =   0
      Top             =   4200
      Width           =   1335
   End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Command1_Click()
    'program D1R6
    'Driver program for routine VANDER
    N = 5
    Dim X(5), Q(5), W(5), TERM(5)
    '输入已知的方程组的系数矩阵的X
    X(1) = 1#: X(2) = 1.5: X(3) = 2#: X(4) = 2.5: X(5) = 3#
    '输入已知的方程组的右端向量B
    Q(1) = 1#: Q(2) = 1.5: Q(3) = 2#: Q(4) = 2.5: Q(5) = 3#
    Print Tab(5); " 已知的方程组的右端向量"
    Print Tab(13); Format$(Q(1), "##.##")
    Print Tab(13); Format$(Q(2), "##.##")
    Print Tab(13); Format$(Q(3), "##.##")
    Print Tab(13); Format$(Q(4), "##.##")
    Print Tab(13); Format$(Q(5), "##.##")
    Call VANDER(X(), W(), Q(), N)
    '输出方程组的解W
    Print
    Print Tab(5); " 计算出的方程组的的解"
    Print Tab(11); Format$(W(1), "##.######")
    Print Tab(11); Format$(W(2), "##.######")
    Print Tab(11); Format$(W(3), "##.######")
    Print Tab(11); Format$(W(4), "##.######")
    Print Tab(11); Format$(W(5), "##.######")
    '将计算出的解乘以系数矩阵,以验证计算结果正确
    Print
    Print Tab(4); "将计算出的解乘以系数矩阵,以验证计算结果正确"
    Print
    Print Tab(7); "解乘以系数矩阵"; Tab(26); "方程组的右端向量"
    SUM1 = 0
    For I = 1 To N
        TERM(I) = W(I)
        SUM1 = SUM1 + W(I)
    Next I
    Print Tab(12); Format$(SUM1, "#.####"); Tab(32); Format$(Q(1), "#.####")
    For I = 2 To N
        SUM1 = 0
        For J = 1 To N
           TERM(J) = TERM(J) * X(J)
           SUM1 = SUM1 + TERM(J)
        Next J
        Print Tab(12); Format$(SUM1, "#.####"); Tab(32); Format$(Q(I), "#.####")
    Next I
End Sub
Sub VANDER(X(), W(), Q(), N)
    NMAX = 100
    ZERO = 0#
    ONE = 1#
    Dim C(100)
    If N = 1 Then
        W(1) = Q(1)
    Else
        For I = 1 To N
            C(I) = ZERO
        Next I
        C(N) = -X(1)
        For I = 2 To N
            XX = -X(I)
            For J = N + 1 - I To N - 1
                C(J) = C(J) + XX * C(J + 1)
            Next J
            C(N) = C(N) + XX
        Next I
        For I = 1 To N
            XX = X(I)
            T = ONE
            B = ONE
            S = Q(N)
            K = N
            For J = 2 To N
                K1 = K - 1
                B = C(K) + XX * B
                S = S + Q(K1) * B
                T = XX * T + B
                K = K1
            Next J
            W(I) = S / T
        Next I
    End If
End Sub


⌨️ 快捷键说明

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