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

📄 d4r16.frm

📁 VB常用数值算法集 内含有解线性代数方程组
💻 FRM
字号:
VERSION 5.00
Begin VB.Form Form1 
   Caption         =   "Form1"
   ClientHeight    =   5280
   ClientLeft      =   60
   ClientTop       =   345
   ClientWidth     =   4395
   LinkTopic       =   "Form1"
   ScaleHeight     =   5280
   ScaleWidth      =   4395
   StartUpPosition =   3  'Windows Default
   Begin VB.CommandButton Command1 
      Caption         =   "Command1"
      Height          =   375
      Left            =   2520
      TabIndex        =   0
      Top             =   4320
      Width           =   1455
   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 D4R16
    'Driver for routine BESSY0
    Open "D:\VB常用数值算法集\DATA\FNCVAL.DAT" For Input As #1
    Do
      Line Input #1, Text$
    Loop While Text$ <> "Bessel Function Y0"
    Line Input #1, NVAL$
    NVAL = Val(NVAL$)
    Print Text$
    Print
    Print "    X        Actual      BESSY0(X)"
    For I = 1 To NVAL
        Line Input #1, DUM$
        X = Val(Mid(DUM$, 1, 6))
        Value = Val(Mid(DUM$, 7))
        Print Tab(4); Format$(X, "#0.0#");
        Print Tab(12); Format$(Value, "##.0000000");
        Print Tab(25); Format$(BESSY0(X), "##.0000000")
    Next I
    Close #1
End Sub
Function BESSY0(X)
    P1 = 1#:                  P2 = -0.001098628627
    P3 = 0.00002734510407:    P4 = -0.000002073370639
    P5 = 2.093887211E-07
    Q1 = -0.01562499995:      Q2 = 0.0001430488765
    Q3 = -0.000006911147651:  Q4 = 7.621095161E-07
    Q5 = -9.34945152E-08
    R1 = -2957821389#:        R2 = 7062834065#
    R3 = -512359803.6:        R4 = 10879881.29
    R5 = -86327.92757:        R6 = 228.4622733
    S1 = 40076544269#:        S2 = 745249964.8
    S3 = 7189466.438:         S4 = 47447.2647
    S5 = 226.1030244:         S6 = 1#
    If X < 8# Then
        y# = X ^ 2
        AAA# = R1 + y * (R2 + y * (R3 + y * (R4 + y * (R5 + y * R6))))
        BBB# = S1 + y * (S2 + y * (S3 + y * (S4 + y * (S5 + y * S6))))
        BESSY0 = AAA# / BBB# + 0.636619772 * BESSJ0(X) * Log(X)
    Else
        Z = 8# / X
        y# = Z ^ 2
        XX = X - 0.785398164
        AAA# = Sqr(0.636619772 / X)
        BBB# = P1 + y * (P2 + y * (P3 + y * (P4 + y * P5)))
        CCC# = Q1 + y * (Q2 + y * (Q3 + y * (Q4 + y * Q5)))
        BESSY0 = AAA# * (Sin(XX) * BBB# + Z * Cos(XX) * CCC#)
    End If
End Function
Function BESSJ0(X)
    P1# = 1#
    P2# = -0.001098628627
    P3# = 0.00002734510407
    P4# = -0.000002073370639
    P5# = 2.093887211E-07
    Q1# = -0.01562499995
    Q2# = 0.0001430488765
    Q3# = -0.000006911147651
    Q4# = 7.621095161E-07
    Q5# = -9.34945152E-08
    R1# = 57568490574#
    R2# = -13362590354#
    R3# = 651619640.7
    R4# = -11214424.18
    R5# = 77392.33017
    R6# = -184.9052456
    S1# = 57568490411#
    S2# = 1029532985#
    S3# = 9494680.718
    S4# = 59272.64853
    S5# = 267.8532712
    S6# = 1#
    If Abs(X) < 8# Then
       y# = X * X
       BBB# = y# * (R4# + y# * (R5# + y# * R6#))
       AAA# = R1# + y# * (R2# + y# * (R3# + BBB#))
       CCC# = y# * (S3# + y# * (S4# + y# * (S5# + y# * S6#)))
       BESSJ0 = AAA / (S1# + y# * (S2# + CCC#))
    Else
       AX# = Abs(X)
       Z# = 8# / AX#
       y# = Z# * Z#
       XX = AX# - 0.785398164
       CCC# = y# * (P3# + y# * (P4# + y# * P5#))
       AAA# = P1# + y# * (P2# + CCC#)
       DDD# = y# * (Q3# + y# * (Q4# + y# * Q5#))
       EEE# = Z# * Sin(XX) * (Q1# + y# * (Q2# + DDD#))
       BESSJ0 = Sqr(0.636619772 / AX#) * (Cos(XX) * AAA# - EEE#)
    End If
End Function

⌨️ 快捷键说明

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