Использование LinEst в VBA для полилинейных полиномов - PullRequest
0 голосов
/ 12 марта 2020

Я несколько дней ломал голову над этим объявлением, пытаясь найти ответ.

У меня есть ряд различных массивов, в которых я использую некоторый код VBA для определения и вычисления строки наиболее подходящий. Я думаю, что полинома 3-го порядка (ax ^ 3) должно быть достаточно, но если нет, я хочу, чтобы область увеличивала это или нет.

Я бы обычно справлялся с этим с помощью функции LinEst, однако, когда я применяю это в VBA Я получаю сообщение о несоответствии типов и не могу понять, почему. Есть некоторый код для определения yval и xval, который я упростил для этого.

    Dim Aval As Variant
    Dim xval, yval As Range
    Dim star, fin as integer

    star = 3
    fin = 7

    Set yval = Range("AG" & star & ":AG" & fin)
    Set xval = Range("J" & star & ":J" & fin)

    Aval = Application.WorksheetFunction.LinEst(yval, Application.WorksheetFunction.Power(xval, Array(1, 2)))

Может кто-нибудь помочь, пожалуйста?

1 Ответ

1 голос
/ 12 марта 2020
Dim Aval As Variant
Dim xval As Range, yval As Range
Dim star As Long, fin As Long

star = 3
fin = 7

With ActiveSheet

    Set yval = .Range("B" & star & ":B" & fin)
    Set xval = .Range("A" & star & ":A" & fin)

    Aval = Application.LinEst(yval, Application.Power(xval, Array(1, 2)))

    .Range("F4:H4") = Aval
End With

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...