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

📄 d2r7.frm

📁 VB常用数值算法集 内含有解线性代数方程组
💻 FRM
字号:
VERSION 5.00
Begin VB.Form Form1 
   Caption         =   "Form1"
   ClientHeight    =   6855
   ClientLeft      =   1860
   ClientTop       =   750
   ClientWidth     =   6285
   LinkTopic       =   "Form1"
   ScaleHeight     =   6855
   ScaleWidth      =   6285
   Begin VB.CommandButton Command1 
      Caption         =   "Command1"
      Height          =   375
      Left            =   4560
      TabIndex        =   0
      Top             =   6240
      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 D2R7
    'DRIVER for routine POLCOE
    NP = 5
    PI = 3.141593
    Dim XA(5), YA(5), COEFF(5)
    For NFUNC = 1 To 2
        If NFUNC = 1 Then
            Print
            Print Tab(3); "Sine function from 0 to PI"
            For I = 1 To NP
                XA(I) = I * PI / NP
                YA(I) = Sin(XA(I))
            Next I
        ElseIf NFUNC = 2 Then
            Print
            Print Tab(3); "Exponential function from 0 to 1"
            For I = 1 To NP
                XA(I) = 1# * I / NP
                YA(I) = Exp(XA(I))
            Next I
        Else
            Stop
        End If
        Call POLCOE(XA(), YA(), NP, COEFF)
        Print Tab(3); "coefficients"
        For I = 1 To NP
            Print Format$(COEFF(I), "0.000000"),
        Next I
        Print Tab(5); "  x          f(x)    polynomial"
        For I = 1 To 10
            If NFUNC = 1 Then
                X = (-0.05 + I / 10#) * PI
                F = Sin(X)
            ElseIf NFUNC = 2 Then
                X = (-0.05 + I / 10#)
                F = Exp(X)
            End If
            Sum = COEFF(NP)
            For J = NP - 1 To 1 Step -1
                Sum = COEFF(J) + Sum * X
            Next J
            Print Tab(3); Format$(X, "0.#00000");
            Print Tab(15); Format$(F, "0.####00");
            Print Tab(27); Format$(Sum, "0.####00")
        Next I
        Print Tab(5); "**********************************"
    Next NFUNC
End Sub
Sub POLCOE(X(), Y(), N, COF())
    Dim S(15)
    For I = 1 To N
        S(I) = 0#
        COF(I) = 0#
    Next I
    S(N) = -X(1)
    For I = 2 To N
        For J = N + 1 - I To N - 1
            S(J) = S(J) - X(I) * S(J + 1)
        Next J
        S(N) = S(N) - X(I)
    Next I
    For J = 1 To N
        PHI = N
        For K = N - 1 To 1 Step -1
            PHI = K * S(K + 1) + X(J) * PHI
        Next K
        FF = Y(J) / PHI
        B = 1#
        For K = N To 1 Step -1
            COF(K) = COF(K) + B * FF
            B = S(K) + X(J) * B
        Next K
    Next J
End Sub

⌨️ 快捷键说明

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