?? 高次插值的sin現象.frm
字號:
VERSION 5.00
Begin VB.Form Form8
BackColor = &H00FFFFFF&
Caption = "高次插值的Sin現象"
ClientHeight = 6690
ClientLeft = 60
ClientTop = 345
ClientWidth = 10200
LinkTopic = "Form8"
ScaleHeight = 6690
ScaleWidth = 10200
StartUpPosition = 3 '窗口缺省
Begin VB.CommandButton Command1
Caption = "高次插值的Sin現象"
Height = 615
Left = 120
TabIndex = 0
Top = 0
Width = 1815
End
End
Attribute VB_Name = "Form8"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Command1_Click()
Cls
n = InputBox("請輸入插值節點數:", "input")
n = Val(n)
m = 101
Dim x(20), y(20), x1(200), f(200), P(200)
Rem 計算插值節點
pai = 3.1416
k = 1
x(k) = 0
y(k) = Sin(x(k))
While k <= n - 1
k = k + 1
x(k) = pai / 2 * (k - 1) / (n - 1)
y(k) = Sin(x(k))
Wend
Rem 計算非結點上的函數值和插值函數值:
i = 1
x1(1) = x(1)
f(1) = y(1)
P(1) = y(1)
h = pai / 2 / 100
Do While i <= m - 1
i = i + 1
x1(i) = x1(1) + (i - 1) * h
f(i) = Sin(x1(i))
xx = x1(i)
k = 1
s = 0
Do While k <= n
t = 1
j = 1
Do While j <= n
If j <> k Then
t = t * (xx - x(j)) / (x(k) - x(j))
End If
j = j + 1
Loop
s = s + t * y(k)
k = k + 1
Loop
P(i) = s
Loop
Rem Cls
Line (200, 5000)-(14000, 5000)
Line (7000, 500)-(7000, 9000)
i = 1
Do While i <= m - 1
Line (7000 + x1(i) * 3000, 5000 - P(i) * 3000)-(7000 + x1(i + 1) * 3000, 5000 - P(i + 1) * 3000), vbRed
Line (7000 + x1(i) * 3000, 5000 - f(i) * 3000)-(7000 + x1(i + 1) * 3000, 5000 - f(i + 1) * 3000), vbBlue
i = i + 1
Loop
End Sub
Private Sub Form_DblClick()
Unload Me
Form1.Show
End Sub
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -