📄 inspline3mainmodule.bas
字号:
Attribute VB_Name = "MainModule"
Sub Main()
Dim m As Integer, n As Integer, i As Double, j As Double
Dim s As Double, u As Double
Dim str As String
' 结点数
n = 37
' 插值点数
m = 36
' 分配内存
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
' 结点的值与结点的函数值
For i = 1 To n
x(i) = (i - 1) * 6.2831852 / 36#
y(i) = Sin(x(i))
Next i
' 待插值点的值
For i = 1 To m
t(i) = (0.5 + i - 1) * 6.2831852 / 36#
Next i
' 插值
s = INSpline3(n, x, y, dy, ddy, m, t, z, dz, ddz)
str = "x(i) y(i)=sin(x) dy(i)=cos(x) ddy(i)=-sin(x)" & Chr(13) & Chr(13)
str = str & Format(x(1), "#####0.00000") & " " & Format(y(1), "#####0.00000") & " " & Format(dy(1), "#####0.00000") & " " & Format(ddy(1), "#####0.00000") & Chr(13)
For i = 1 To m
u = t(i) * 36# / 0.62831852
str = str & Format(u, "#####0.00000") & " " & Format(z(i), "#####0.00000") & " " & Format(dz(i), "#####0.00000") & " " & Format(ddz(i), "#####0.00000") & Chr(13)
u = x(i + 1) * 36# / 0.62831852
j = i + 1
str = str & Format(u, "#####0.00000") & " " & Format(y(j), "#####0.00000") & " " & Format(dy(j), "#####0.00000") & " " & Format(ddy(j), "#####0.00000") & Chr(13)
Next i
str = str & Chr(13) & "s = " & s & Chr(13) & Chr(13)
' 在窗体的RichText控件中显示结果
Form1.RichTextBox1.Text = str
Form1.Show
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -