MATLAB中的潜在错误使R2014a回归

时间:2018-04-02 00:16:02

标签: matlab debugging regression

MATLAB R2014a过去工作得很好w回归但是现在当变量很好并且排名满意时我得到一个错误。

X = rand([10 3])

X =

    0.8407    0.3517    0.0759
    0.2543    0.8308    0.0540
    0.8143    0.5853    0.5308
    0.2435    0.5497    0.7792
    0.9293    0.9172    0.9340
    0.3500    0.2858    0.1299
    0.1966    0.7572    0.5688
    0.2511    0.7537    0.4694
    0.6160    0.3804    0.0119
    0.4733    0.5678    0.3371

K>> Y = rand([10 1])

Y =

    0.1622
    0.7943
    0.3112
    0.5285
    0.1656
    0.6020
    0.2630
    0.6541
    0.6892
    0.7482


[B,BINT] = regress(Y,X)

Subscript indices must either be real positive integers or logicals.

Error in regress (line 93)
b(perm) = R \ (Q'*y);

显然,X和Y都很好。回归中的矩阵数学会出现问题,并且由于某种原因,烫发是作为向量输出的(给出了ind错误)。上面几行,qr就像这样调用,没有对烫发的进一步修改:

[Q,R,perm] = qr(X,0);

帮助文件说qr应该输出第三个参数,它是一个矩阵 - 但如果数学总是期望一个向量,怎么会这样呢?

%   [Q,R,E] = QR(A) produces unitary Q, upper triangular R and a
%   permutation matrix E so that A*E = Q*R. The column permutation E is
%   chosen so that ABS(DIAG(R)) is decreasing.

考虑到这两者都是内置函数,非常令人困惑。我真的重新安装了MATLAB R2014a和一些工具箱,STILL得到了这个错误。感觉qr得到了更新以输出不同的论点,但我不明白为什么重新安装不会解决这个问题,或者为什么qr会根本无论如何更新。我的MATLAB中的其他所有内容都很棒。

任何想法???

0 个答案:

没有答案