Matlab中的矩阵维+循环错误

时间:2012-05-25 20:55:02

标签: loops matrix dimension

我有一个向量“Xt”,其中Xt维度是12588 X 1.从这个向量我应用这个代码:

S=sum((abs(Xt(2:end)-Xt(1:end-1))).^2);

导致一个数字,其中S是1by1。

现在我的目标是构造一个向量S(Nx1),其中S中的每个值都取决于J和K - 例如:

S=sum((abs(Xt(**J**:end)-Xt(**K**:end-1))).^2);

起初我想到了以下内容(我不希望J超过126):

for j=2:126 k=1:125, S=sum((abs(Xt(j:end)-Xt(1:end-k))).^2); end; end;

我收到错误:“使用时出错 - 矩阵维度必须一致。“

是维度问题还是循环问题?


我刚才意识到这段代码有效

for j=2:2 k=1:1;

S =总和((ABS(XT(j:结束)-Xt(1:结束-K)))^ 2); 端;

所以它确实是一个矩阵维度问题!

1 个答案:

答案 0 :(得分:1)

要关闭此问题:

这是我2周前解决这个小问题的方法:

for j=2:2 k=1:1;
S=sum((abs(Xt(j:end)-Xt(1:end-k))).^2); end;

非常简单

(我是Matlab的新手)