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

📄 inspline2mainmodule.bas

📁 科学与工程数值计算算法(Visual Basic版) 附赠的光盘包含了本书中全部的源代码
💻 BAS
字号:
Attribute VB_Name = "MainModule"
Sub Main()
    Dim m As Integer, n As Integer, i As Double
    Dim s As Double
    Dim str As String
        
    ' 结点数
    n = 12
    
    ' 插值点数
    m = 8
    
    ' 分配内存
    ReDim x(n) As Double, y(n) As Double, dy(n) As Double, ddy(n) As Double
    ReDim t(m) As Double, z(m) As Double, dz(m) As Double, ddz(m) As Double
    
    ' 结点的值
    x(1) = 0.52
    x(2) = 8#
    x(3) = 17.95
    x(4) = 28.65
    x(5) = 50.65
    x(6) = 104.6
    x(7) = 156.6
    x(8) = 260.7
    x(9) = 364.4
    x(10) = 468#
    x(11) = 507#
    x(12) = 520#
     
    ' 结点的函数值
    y(1) = 5.28794
    y(2) = 13.84
    y(3) = 20.2
    y(4) = 24.9
    y(5) = 31.1
    y(6) = 36.5
    y(7) = 36.6
    y(8) = 31#
    y(9) = 20.9
    y(10) = 7.8
    y(11) = 1.5
    y(12) = 0.2
    
    ' 待插值点的值
    t(1) = 4#
    t(2) = 14#
    t(3) = 30#
    t(4) = 60#
    t(5) = 130#
    t(6) = 230#
    t(7) = 450#
    t(8) = 515#
    
    ' 二阶导数的左右端点值
    ddy(1) = -0.279319
    ddy(12) = 0.011156
  
    ' 插值
    s = INSpline2(n, x, y, dy, ddy, m, t, z, dz, ddz)
    
    str = "x(i)              y(i)              dy(i)             ddy(i)" & Chr(13)
    For i = 1 To n
        str = str & Format(x(i), "#####.00000") & "    " & Format(y(i), "#####.00000") & "    " & Format(dy(i), "#####.00000") & "    " & Format(ddy(i), "#####.00000") & Chr(13)
    Next i
    
    str = str & Chr(13) & "s = " & Format(s, "#####.00000") & Chr(13) & Chr(13)
    
    str = str + "t(i)              z(i)              dz(i)             ddz(i)" & Chr(13)
    For i = 1 To m
        str = str & Format(t(i), "#####.00000") & "    " & Format(z(i), "#####.00000") & "    " & Format(dz(i), "#####.00000") & "    " & Format(ddz(i), "#####.00000") & Chr(13)
    Next i
    
    MsgBox str
    
End Sub


⌨️ 快捷键说明

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