矩阵维度 + Matlab 中的循环错误



我有一个向量"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=sum((abs(Xt(j:end)-Xt(1:end-k)).^2);结束;

所以这真的是一个矩阵维度问题!

要关闭这个问题:

这就是我在 2 周前解决这个小问题的方式:

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

非常简单

(我是Matlab的新手)

最新更新