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

📄 数值模拟软件.frm

📁 完整的数值模拟软件
💻 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 + -