0

Xt の次元が 12588 X 1 であるベクトル "Xt" があります。このベクトルから、次のコードを適用します。

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

これは、S が 1by1 である 1 つの数値になります。

ここでの目的は、S の各値が J と K に依存するベクトル S (Nx1) を作成することです。たとえば、次のようになります。

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); 終わり;

それは本当に行列の次元の問題です!

4

1 に答える 1

1

この質問を閉じるには:

それが私が2週間前にこの小さな問題を解決した方法です:

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

とてもシンプル

(私はMatlabが初めてでした)

于 2012-06-11T18:23:06.513 に答える