?? 數值模擬軟件.frm
字號:
VERSION 5.00
Begin VB.Form Form1
BackColor = &H00E0E0E0&
BorderStyle = 4 'Fixed ToolWindow
Caption = "數值計算軟件"
ClientHeight = 5760
ClientLeft = 150
ClientTop = 675
ClientWidth = 10950
LinkTopic = "Form1"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 5760
ScaleWidth = 10950
ShowInTaskbar = 0 'False
StartUpPosition = 3 '窗口缺省
WindowState = 2 'Maximized
Begin VB.Menu czff
Caption = "插值方法"
Begin VB.Menu lag
Caption = "拉格朗日插值基函數的幾何意義"
End
Begin VB.Menu rg
Caption = "高次插值的龍格現象"
End
Begin VB.Menu Sin
Caption = "高次插值的Sin現象"
End
Begin VB.Menu Hem
Caption = "分段三次埃米爾特插值"
End
End
Begin VB.Menu szjs
Caption = "曲線繪制"
Index = 0
Begin VB.Menu bqeqx
Caption = "貝齊爾曲線"
Index = 1
End
Begin VB.Menu bytqx
Caption = "B樣條曲線"
Index = 2
End
Begin VB.Menu zyqx
Caption = "自由曲線"
Index = 3
End
Begin VB.Menu ryb
Caption = "任意貝齊爾曲線"
Index = 4
End
Begin VB.Menu rybt
Caption = "任意B樣條曲線"
Index = 5
End
Begin VB.Menu tc
Caption = "退出"
End
End
Begin VB.Menu szjf
Caption = "數值積分"
Begin VB.Menu lbg
Caption = "龍貝格算法"
End
Begin VB.Menu suofao
Caption = "索道長度的計算"
End
End
Begin VB.Menu xxds
Caption = "線性代數方程組求解"
Begin VB.Menu Gauss
Caption = "高斯消元法"
End
Begin VB.Menu lie
Caption = "列主元消去法"
End
Begin VB.Menu Gya
Caption = "Gauss-亞當消元法"
End
Begin VB.Menu LU
Caption = "LU分解法"
End
Begin VB.Menu line
Caption = "-"
End
Begin VB.Menu Ya
Caption = "雅克比迭代法"
End
Begin VB.Menu Gse
Caption = "Gauss賽德爾迭代法"
End
End
Begin VB.Menu xxgh
Caption = "線性規劃問題"
Begin VB.Menu dcxf
Caption = "單純形法"
End
End
Begin VB.Menu cwfj
Caption = "常微分方程數值解"
Begin VB.Menu oula
Caption = "歐拉法"
End
Begin VB.Menu gaioula
Caption = "改進的歐拉法"
End
Begin VB.Menu lgkt
Caption = "龍格-庫塔法"
End
End
Begin VB.Menu fei
Caption = "非線性方程組求解"
Begin VB.Menu ddf
Caption = "迭代法"
End
Begin VB.Menu pwxf
Caption = "拋物線法"
End
Begin VB.Menu dfqjf
Caption = "對分區間法"
End
Begin VB.Menu xwf
Caption = "弦位法"
End
End
Begin VB.Menu Gy
Caption = "關于"
End
Begin VB.Menu bangzhu
Caption = "幫助"
End
Begin VB.Menu tuichu
Caption = "退出"
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim x(20) As Single
Dim Y(20) As Single
Dim x1(60) As Single
Dim y1(60) As Single
Dim b(20) As Single
Private Sub bangzhu_Click()
' C:\Program Files\Microsoft Visual Studio\MSDN98\98VS\2052\DSMSDN
End Sub
Private Sub bqeqx_Click(Index As Integer)
Form2.Show
Cls
End Sub
Private Sub bytqx_Click(Index As Integer)
Form3.Show
Cls
End Sub
Private Sub danchun_Click()
End Sub
Private Sub dcxf_Click()
Form21.Show
Cls
End Sub
Private Sub ddf_Click()
Form22.Show
Cls
End Sub
Private Sub dfqjf_Click()
Form24.Show
Cls
End Sub
Private Sub gaioula_Click()
Form16.Show
Cls
End Sub
Private Sub Gauss_Click()
Form10.Show
End Sub
Private Sub Gse_Click()
Form14.Show
Cls
End Sub
Private Sub gy_Click()
Form5.Show
Cls
End Sub
Private Sub Gya_Click()
Form12.Show
Cls
End Sub
Private Sub Hem_Click()
Form9.Show
Cls
End Sub
Private Sub lag_Click()
Form6.Show
Cls
End Sub
Private Sub lbg_Click()
Form19.Show
Cls
End Sub
Private Sub lgkt_Click()
Form17.Show
Cls
End Sub
Private Sub lie_Click()
Form11.Show
Cls
End Sub
Private Sub LU_Click()
Form15.Show
Cls
End Sub
Private Sub oula_Click()
Form18.Show
Cls
End Sub
Private Sub pwxf_Click()
Form23.Show
Cls
End Sub
Private Sub rg_Click()
Form7.Show
Cls
End Sub
Private Sub ryb_Click(Index As Integer)
Cls
Me.Caption = "任意貝齊爾曲線的繪制"
Ans = "Y"
i = 0
Do While Ans = "Y" Or Ans = "y"
i = i + 1
str1 = "請輸入貝齊爾曲線的第" + Str(i) + "個型值點"
x(i) = InputBox(str1 + "的橫坐標X:", "貝齊爾曲線")
x(i) = Val(x(i))
Y(i) = InputBox(str1 + "的縱坐標Y:", "貝齊爾曲線")
Y(i) = Val(Y(i))
Ans = InputBox("輸入下一個型值點?Y/N", "貝齊爾曲線")
Loop
n = i
Cls
For i = 1 To n - 1
Line (x(i) * 400, 10000 - Y(i) * 400)-(x(i + 1) * 400, 10000 - Y(i + 1) * 400), vbBlue
Next i
m = 50
T = 1 / m
For i = 1 To m + 1
For k = 1 To n
b(k) = jc(n - 1) / (jc(k - 1) * jc(n - k)) * ((i - 1) * T) ^ (k - 1) * (1 - (i - 1) * T) ^ (n - k)
Next k
x1(i) = 0
y1(i) = 0
For k = 1 To n
x1(i) = x1(i) + b(k) * x(k)
y1(i) = y1(i) + b(k) * Y(k)
Next k
Next i
For i = 1 To m
Line (x1(i) * 400, 10000 - y1(i) * 400)-(x1(i + 1) * 400, 10000 - y1(i + 1) * 400), vbRed
Next i
End Sub
Private Sub rybt_Click(Index As Integer)
Cls
Me.Caption = "任意B樣條曲線的繪制"
Ans = "Y"
i = 0
Do While Ans = "Y" Or Ans = "y"
i = i + 1
str1 = "請輸入B樣條曲線的第" + Str(i) + "個型值點"
x(i) = InputBox(str1 + "的橫坐標X:", "B樣條曲線")
x(i) = Val(x(i))
Y(i) = InputBox(str1 + "的縱坐標Y:", "B樣條曲線")
Y(i) = Val(Y(i))
Ans = InputBox("輸入下一個型值點?Y/N", "B樣條曲線")
Loop
n = i
Cls
For i = 1 To n - 1
Line (x(i) * 400, 10000 - Y(i) * 400)-(x(i + 1) * 400, 10000 - Y(i + 1) * 400), vbBlue
Next i
m = 10
For i = 0 To n - 2
For k = 0 To m
u = k / m
x1(k) = u ^ 2 * (x(i) - 2 * x(i + 1) + x(i + 2)) / 2 + u * (-x(i) + x(i + 1)) + (x(i) + x(i + 1)) / 2
y1(k) = u ^ 2 * (Y(i) - 2 * Y(i + 1) + Y(i + 2)) / 2 + u * (-Y(i) + Y(i + 1)) + (Y(i) + Y(i + 1)) / 2
Next k
For k = 0 To m - 1
Me.Line (x1(k) * 400, 10000 - y1(k) * 400)-(x1(k + 1) * 400, 10000 - y1(k + 1) * 400), vbRed
Next k
Next i
End Sub
Private Sub Sin_Click()
Form8.Show
Cls
End Sub
Private Sub tc_Click()
Unload Me
End Sub
Private Sub tuichu_Click()
End
End Sub
Private Sub xwf_Click()
Form25.Show
Cls
End Sub
Private Sub Ya_Click()
Form13.Show
Cls
End Sub
Private Sub zyqx_Click(Index As Integer)
Form4.Show
Cls
End Sub
Public Function jc(n1)
If n1 = 0 Then
jc = 1
End If
jc = 1
k1 = 1
Do While k1 <= n1
jc = jc * k1
k1 = k1 + 1
Loop
End Function
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -