需要用 x = 0.7 計算 sigma
那是我的代碼版本,但它不能正常作業,需要幫??助:
Private Sub UserForm_Click()
Dim k As Long
Dim Numerator As Double
Dim Result As Double
x = 0.7
For k = 0 To infinity Step 1
Numerator = 0
Numerator = Numerator (-1) ^ (k 1) * x ^ (2 * k - 1)
Next k
Result = Result Numerator / Application.WorksheetFunction.Fact((2 * k - 1) * (2 * k 1))
Debug.Print Result
End Sub
我在結果行中收到運行時錯誤“1004”。
uj5u.com熱心網友回復:
以下是您的代碼的一些更改:
- 用于
n部分和中的項數而不是infinity - 它現在是一個功能
x而n不是一個子 - for 回圈中不必要
Step 1的已被洗掉 - 該
2*k-1因素已移至階乘之外 Fact已被替換FactDouble為防止溢位- 分子不獨立于分母加在一起。相反,每一步都會添加一個分數。
這是代碼:
Function Sigma(x As Double, n As Long) As Double
Dim i As Long
Dim k As Long
Dim Numerator As Double
Dim Denominator As Double
Dim Sum As Double
For k = 0 To n
Numerator = (-1) ^ (k 1) * x ^ (2 * k - 1)
Denominator = (2 * k - 1) * Application.WorksheetFunction.FactDouble(2 * k 1)
Sum = Sum Numerator / Denominator
Next k
Sigma = Sum
End Function
例如
Sub test()
Debug.Print Sigma(0.7, 20)
End Sub
哪個列印1.65459064177857
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/534684.html
標籤:擅长VBA代数
