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

📄 高次插值的sin现象.frm

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