當前位置:編程學習大全網 - 編程語言 - vb 辛普森法求積分 我要具體能運行的代碼

vb 辛普森法求積分 我要具體能運行的代碼

Private Sub Command1_Click()

Dim 下限 As Single, 上限 As Single, 允許誤差 As Single, 實際誤差 As Single, 分條 As Integer

下限 = Val(InputBox("請輸入積分下限"))

上限 = Val(InputBox("請輸入積分上限"))

If 下限 > 上限 Then

MsgBox "下限高於上限。懷疑輸入手誤。程序自動交換"

t = 下限

下限 = 上限

上限 = t

End If

允許誤差 = Val(InputBox("請輸入允許誤差"))

Print "積分下限:"; 下限

Print "積分上限:"; 上限

Print "允許誤差為:"; 允許誤差

Print "積分結果為:"; 積分(下限, 上限, 允許誤差, 實際誤差, 分條)

Print "劃分梯形個數:"; 分條

Print "截斷誤差為:"; 實際誤差

End Sub

Private Function 積分(下限 As Single, 上限 As Single, 誤差要求 As Single, 誤差 As Single, 塊數 As Integer)

Dim p As Single

塊數 = 2

積分值 = 0

步長 = (上限 - 下限) / 塊數

p = 函數(下限) + 函數(上限)

d = 函數(下限 + 步長)

Do

s = (p + 4 * d) * 步長 / 3

誤差 = Abs(s - 積分值)

If 誤差 <= 誤差要求 And 塊數 > 100 Then Exit Do

塊數 = 塊數 * 2

步長 = (上限 - 下限) / 塊數

積分值 = s

p = p + 2 * d

d = 0

For i = 1 To 塊數 - 1 Step 2

d = d + 函數(下限 + i * 步長)

Next i

Loop

積分 = s

End Function

Private Function 函數(自變量 As Single) '這個函數的內容是要妳自己修改的

函數 = 自變量 * 自變量

End Function

  • 上一篇:什麽是狀態圖?
  • 下一篇:仿生人是機器人嗎
  • copyright 2024編程學習大全網