Столкнулся с такой проблемой. Необходимо написать код для нахождения коэффициенты полиномальной функции. Для сей операции использую функции Excel. Получилось нечто такое:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim M1(11) As Byte, M2(11) As Byte, PolyStep As Double
' М1-временной ряд продажи по месяцам
' M2-gорядковый номер временного ряда
' PolyStep - степень функции
M1(0) = 30
M1(1) = 18
M1(2) = 27
M1(3) = 21
M1(4) = 21
M1(5) = 23
M1(6) = 14
M1(7) = 17
M1(8) = 16
M1(9) = 9
M1(10)= 24
M1(11)= 27
For i = 0 To 11
M2(i) = i + 1
Next
PolyStep = 4
Dim b As Double
Dim x(,) As Object, y1() As Double, c() As Double
ReDim x(UBound(M1), PolyStep - 1)
ReDim c(PolyStep - 1)
Dim xl = New Excel.Application
Dim k As String
For i = 0 To UBound(x)
For n = 0 To PolyStep - 1
x(i, n) = M2(i) ^ (n + 1)
Next n
Next i
Dim Coefs As Object
Coefs = xl.Application.WorksheetFunction.LinEst(М1, x, 1, 0)
b = Coefs(1, PolyStep + 1)
For i = PolyStep To 1 Step -1
c(PolyStep - i + 1) = Coefs(1, i)
Next i
End Sub
Но на 29-й строчке выдает ошибку "Метод LinEst из класса WorksheetFunction завершен неверно". Подскажите, что я делаю не так? Зарание спасибо.
Ответить
|