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中的其他所有内容都很棒。
任何想法???