while B(i,j,k) ~= 0
{ C = C + B(i,j,k);
i++;
j++;
k++;
}
end
(i、i、i)要素の合計を得るためにmXnX3行列を2倍で追加しようとしていますが、上記の宣言はmatlabエラーです。私はそれを修正するように見えることはできません。助けて!Matlabが式エラーを無効にしました
while B(i,j,k) ~= 0
{ C = C + B(i,j,k);
i++;
j++;
k++;
}
end
(i、i、i)要素の合計を得るためにmXnX3行列を2倍で追加しようとしていますが、上記の宣言はmatlabエラーです。私はそれを修正するように見えることはできません。助けて!Matlabが式エラーを無効にしました
このエラーは、Matlabの構文が正しくないために発生します。 the documentationを読んだことがありますか?ループでこれを解決するために
、あなたが書いたと思います:すべて:
C = 0;
for i=1:size(B,1)
C = C + B(i,i,i);
end
を "MATLAB" -wayでそれを行うには、
nn = size(B,1);
C = sum(B(1:(nn^2+n+1):end));
注意を書きたいです上記はBがnxnxnであると仮定します。
あなたが本当にトリプルループを行いたい場合は、すべて要素の合計を取得したい場合、あなたは、単に
C = sum(B(:));
を書くことができ、あなたは私が++、しかし
C = 0;
[nI,nJ,nK]=size(B);
for i=1:nI
for j=1:nJ
for k=1:nK
C = C + B(i,j,k);
end
end
end
i++
は無効です。Matlab。中かっこも{}
です。
を書いて、オクターブのようなものは動作します。 Matlabユーザと共同作業する場合は使用しないでください。 –
しかしこれは_(i、i、i)_要素の合計ではありません... 3つではなく1つのループが必要です。 –
@EitanT:*(i、i、i)*要素をmxnx3配列に追加することは意味がないので、OPは実際には奇妙です。とにかく、私は答えを修正しました。 – Jonas