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

📄 d5r5.frm

📁 常用的数值算法的VB程序
💻 FRM
字号:
VERSION 5.00
Begin VB.Form Form1 
   Caption         =   "Form1"
   ClientHeight    =   4800
   ClientLeft      =   60
   ClientTop       =   345
   ClientWidth     =   4680
   LinkTopic       =   "Form1"
   ScaleHeight     =   4800
   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 D5R5
    'Driver for routine CHEBEV
    NVAL = 40
    PIO2 = 1.5707963
    Dim C(40)
    A = -PIO2
    B = PIO2
    Call CHEBFT(A, B, C(), NVAL)
    'Test Chebyshev evaluation routine
    Print
    Print Tab(5); "How many terms in Chebyshev evaluation?"
    'Input MVAL , between 6 and 40, MVAL=0 TO END
    MVAL = 20
    Print Tab(5); MVAL
    If (MVAL <= 0) Or (MVAL > NVAL) Then Exit Sub
    Print Tab(5); "     X         Actual       Chebyshev fit"
    For I = -8 To 8 Step 1
        X = I * PIO2 / 10#
        Print Tab(5); Format$(X, "#0.000000");
        Print Tab(19); Format$(FUNC(X), "0.000000");
        Print Tab(35); Format$(CHEBEV(A, B, C(), MVAL, X), "#0.000000");
    Next I
End Sub
Function FUNC(X)
    FUNC = (X ^ 2) * (X ^ 2 - 2#) * Sin(X)
End Function
Function CHEBEV(A, B, C(), M, X)
    If (X - A) * (X - B) > 0# Then Print "X not in range."
    D = 0#
    DD = 0#
    Y = (2# * X - A - B) / (B - A)
    Y2 = 2# * Y
    For J = M To 2 Step -1
        SV = D
        D = Y2 * D - DD + C(J)
        DD = SV
    Next J
    CHEBEV = Y * D - DD + 0.5 * C(1)
End Function
   Sub CHEBFT(A, B, C(), N)
      NMAX = 50
      Dim F(50)
      PI = 3.14159265358979
      BMA = 0.5 * (B - A)
      BPA = 0.5 * (B + A)
      For K = 1 To N
          Y = Cos(PI * (K - 0.5) / N)
          F(K) = FUNC(Y * BMA + BPA)
      Next K
      FAC = 2# / N
      For J = 1 To N
          Sum = 0#
          For K = 1 To N
              Sum = Sum + F(K) * Cos((PI * (J - 1)) * ((K - 0.5) / N))
          Next K
          C(J) = FAC * Sum
      Next J
   End Sub


⌨️ 快捷键说明

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