
Я пытаюсь выяснить уравнение 2-го порядка (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.10919130371322 : Variant/Double
- : Mpolynomials(2) : : Variant(1 to 2) : Mpolynomials(2,1) : 2.49037160577299E-06 : Variant/Double : Mpolynomials(2,2) : 0.050203149944234 : Variant/Double
- : Mpolynomials(3) : : Variant(1 to 2) : Mpolynomials(3,1) : 0.999776086266518 : Variant/Double : Mpolynomials(3,2) : 9.34516966780855E-03 : Variant/Double
- : Mполиномы(4) : : Вариант(1 до 2) : Mполиномы(4,1) : 13395.0169654829 : Вариант/Double : Mполиномы(4,2) : 3 : Вариант/Double
- : Mpolynomials(5) : : Variant(1 to 2) : Mpolynomials(5,1) : 1.16981624866201 : Variant/Double : Mpolynomials(5,2) : 2.61996588360387E-04 : Variant/Double
решение1
Я немного поискал и нашел способ получить полиномы для уравнения второго порядка.
Mполиномов = Приложение.ФункцияРабочегоЛиста.ЛинейнаяОценка(ДиапазонM, Приложение.Мощность(ДиапазонF, Массив(1, 2)))
Здесь Mpolynomials — это вариант