Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 将LINEST与数组一起用作变量(不是范围)_Arrays_Vba_Excel - Fatal编程技术网

Arrays 将LINEST与数组一起用作变量(不是范围)

Arrays 将LINEST与数组一起用作变量(不是范围),arrays,vba,excel,Arrays,Vba,Excel,我试图用谷歌搜索自己来解决这个问题,但似乎找不到任何解决办法 基本上我有两个数组(XValues和YValues),其中包含数据I 应该找到一个适合的多项式 它是一个三次多项式 作为整数的XValues()从0变为359。它的值可以从0开始到359,每个位置增加1 使用LINEST和图表,双精度的YValues()也从0变为359,其值或多或少变为(1)多项式的抛物线 (2) 使用带有变体的VBA得到相同的结果 (注意(i)选项1使用1D变体,选项2使用2D(ii)使用Power的关键部分我

我试图用谷歌搜索自己来解决这个问题,但似乎找不到任何解决办法

  • 基本上我有两个数组(XValues和YValues),其中包含数据I 应该找到一个适合的多项式
  • 它是一个三次多项式
  • 作为整数的
    XValues()从0变为359。它的值可以从0开始到359,每个位置增加1
    
  • 使用
    LINEST
    和图表,双精度的
    YValues()也从0变为359,其值或多或少变为(1)多项式的抛物线

    (2) 使用带有变体的
    VBA
    得到相同的结果
    (注意(i)选项1使用1D变体,选项2使用2D(ii)使用
    Power
    的关键部分我在另一个论坛上看到过)

    2B使用带有2D变体的
    VBA
    获得相同的结果

     Sub Test2()
     Dim Y
     Dim X
     Dim Arr1
     Dim Arr2
     With Application
        Y = [a1:a10]
        X = [b1:b10]
        Arr1 = .Power(X, Array(1, 2, 3))
        Arr2 = .LinEst(Y, Arr1)
     End With
     MsgBox "coefficients are " & Chr(10) & Join(Arr2, Chr(10))
     End Sub
    
    (1) 使用
    LINEST
    和图表的多项式

    (2) 使用带有变体的
    VBA
    得到相同的结果
    (注意(i)选项1使用1D变体,选项2使用2D(ii)使用
    Power
    的关键部分我在另一个论坛上看到过)

    2B使用带有2D变体的
    VBA
    获得相同的结果

     Sub Test2()
     Dim Y
     Dim X
     Dim Arr1
     Dim Arr2
     With Application
        Y = [a1:a10]
        X = [b1:b10]
        Arr1 = .Power(X, Array(1, 2, 3))
        Arr2 = .LinEst(Y, Arr1)
     End With
     MsgBox "coefficients are " & Chr(10) & Join(Arr2, Chr(10))
     End Sub
    

    “显然无法使用我的变量”具体错误是什么?请发布您的代码。
    Coeff=WorksheetFunction.LinEst(YValues,XValues^ Array(1,2,3))
    使用
    Coeff作为变量
    例如不起作用。本例中的错误是变量与返回的类型不匹配(如vba所述)。也没有太多的帖子。。。我只是对这段代码有点怀疑。尽管如此,我还是多次控制了数组的填充方式,没有一个数组返回错误。请参阅。这在阵列上使用了
    Linest
    ,这与变体的类型无关,否则我不会问。。。。如果你不尝试,就有可能把这个问题解决掉。我将简短地发布一个潜在的解决方案。错误可能在任何地方,从变量的定义到它们包含的数据类型,没有代码,这都是猜测,我们可能会浪费精力。即使您发现示例代码没有用,很明显您在代码中遗漏了一些东西,因此查看一下肯定会有所帮助。“显然无法使用我的变量”具体错误是什么?请发布您的代码。
    Coeff=WorksheetFunction.LinEst(YValues,XValues^ Array(1,2,3))
    使用
    Coeff作为变量
    例如不起作用。本例中的错误是变量与返回的类型不匹配(如vba所述)。也没有太多的帖子。。。我只是对这段代码有点怀疑。尽管如此,我还是多次控制了数组的填充方式,没有一个数组返回错误。请参阅。这在阵列上使用了
    Linest
    ,这与变体的类型无关,否则我不会问。。。。如果你不尝试,就有可能把这个问题解决掉。我将简短地发布一个潜在的解决方案。错误可能在任何地方,从变量的定义到它们包含的数据类型,没有代码,这都是猜测,我们可能会浪费精力。即使您发现示例代码没有用处,但很明显您在代码中遗漏了一些东西,因此查看一下肯定会有所帮助。这正是我所需要的!既然你帮了大忙,我也可以问你为什么我需要转置两个数组才能让它工作?它是否依赖于
    .Power
    ?@Noldor130884好问题,2D变体更简单(如果您的数组是那种形式),因为它删除了所有
    转置
    s@brettdj漂亮的点abt
    .Power
    。除非你做对了,否则这些模糊的事情会让你的经历很痛苦!这正是我需要的!既然你帮了大忙,我也可以问你为什么我需要转置两个数组才能让它工作?它是否依赖于
    .Power
    ?@Noldor130884好问题,2D变体更简单(如果您的数组是那种形式),因为它删除了所有
    转置
    s@brettdj漂亮的点abt
    .Power
    。除非你做对了,否则这些模糊的事情会让你的经历很痛苦!