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

📄 拉格朗日插值几何意义.frm

📁 完整的数值模拟软件
💻 FRM
字号:
VERSION 5.00
Begin VB.Form Form6 
   BackColor       =   &H00FFFFFF&
   Caption         =   "拉格朗日插值几何意义"
   ClientHeight    =   7155
   ClientLeft      =   60
   ClientTop       =   345
   ClientWidth     =   9900
   LinkTopic       =   "Form6"
   ScaleHeight     =   7155
   ScaleWidth      =   9900
   StartUpPosition =   3  '窗口缺省
   Begin VB.CommandButton Command1 
      Caption         =   "拉格朗日插值的几何意义"
      Height          =   735
      Left            =   120
      TabIndex        =   0
      Top             =   240
      Width           =   1455
   End
End
Attribute VB_Name = "Form6"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Command1_Click()
Rem 定义数组变量
Dim x(20), l(20, 200), ll(200), x1(200)

Rem 定义插值节点
k = 1
While k <= 20
  x(k) = k - 1
  k = k + 1
Wend


n = InputBox("请输入插值节点数:", "input")
n = Val(n)

Rem 计算插值基函数和插值基函数的累积和
m = 101
h = (x(n) - x(1)) / (m - 1)

i = 1
Do While i <= m
 ll(i) = 0
 xx = x(1) + (i - 1) * h
 x1(i) = xx
 k = 1

 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
   l(k, i) = t
   ll(i) = ll(i) + l(k, i)
   k = k + 1
   
 Loop
 i = i + 1
Loop

Rem 输出坐标轴
Cls
x0 = 2000
y0 = 5000
Line (200, y0)-(15000, y0)
Line (x0, 500)-(x0, 9000)

Rem 输出横坐标的刻度,比例T0
t0 = 2000
i = 0
m1 = 0
Do While i <= n - 1
   Line (x0 + t0 * i, y0 - 50)-(x0 + t0 * i, y0 + 50)
   i = i + 1
   Print m1
   m1 = m1 + 1
Loop

Rem 输出插值基函数图形
k = 1
Do While k <= n

i1 = 60 * k
i2 = 0
If i1 > 255 Then
   i1 = 255
   i2 = 60 * (k - 4)
End If

i = 1
Do While i <= m - 1
  Line (x0 + x1(i) * t0, y0 - l(k, i) * t0)-(x0 + x1(i + 1) * t0, y0 - l(k, i + 1) * t0), RGB(255, i1, i2)
  i = i + 1
Loop
k = k + 1
Loop


Rem 输出基函数的累加和图形
i = 1
Do While i <= m - 1

  Line (x0 + x1(i) * t0, y0 - ll(i) * t0)-(x0 + x1(i + 1) * t0, y0 - ll(i + 1) * t0), 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 + -