Excel VBA 中的 LINEST 函數

Excel VBA 中的 LINEST 函數

我試著找出一組資料值的二階方程式 (Y = ax^2 + bx + c)。當我使用Excel中的內建函數時

=LINEST(C2533:C2537,B2533:B2537^{1,2}) 

對於我選擇的數據,我得到以下結果

3.08414E-09 -0.00041244 7.351136804

但是,當我在 Excel VBA 程式碼中嘗試相同的操作時,答案並不相互關聯,任何人都可以告訴我程式碼中應該進行哪些修改嗎?

Set RangeM = ("C2533:C2537")  -->Y axis
Set RangeF = ("B2533:B2537") --> Xaxis
Mpolynomials = Application.WorksheetFunction.LinEst(RangeM, RangeF, True, True)
  • : Mpolynomials(1) : : Variant(1 to 2) : Mpolynomials(1,1) : -2.88227749032385E-04 : Variant/Double : Mpolynomials(1,2) : 6.1091913037132Double : Variant/1912
  • : Mpolynomials(2) : : Variant(1 到 2) : Mpolynomials(2,1) : 2.4903716057729E-06 : Variant/Double : Mpolynomials(2,2) : 0.050203149994: Var
  • : Mpolynomials(3) : : Variant(1 to 2) : Mpolynomials(3,1) : 0.999776086266518 : Variant/Double : Mpolynomials(3,2) : 9.345169667808555966785169667808555966785:55
  • : Mpolynomials(4) : : Variant(1 到 2) : Mpolynomials(4,1) : 13395.0169654829 : Variant/Double : Mpolynomials(4,2) : 3 : Variant/Double
  • : Mpolynomials(5) : : Variant(1 to 2) : Mpolynomials(5,1) : 1.16981624866201 : Variant/Double : Mpolynomials(5,2) : 2.61996588360387E-Double-04: VarE-0883603878

答案1

我做了一些瀏覽並獲得了獲取二階方程多項式的方法

Mpolynomials = Application.WorksheetFunction.LinEst(RangeM, Application.Power(RangeF, Array(1, 2)))

這裡 Mpolynomials 是一個變體

相關內容