while B(i,j,k) ~= 0
{ C = C + B(i,j,k);
i++;
j++;
k++;
}
end
我想在double中添加一個mXnX3矩陣來獲取(i,i,i)元素的總和,但上面的聲明給出了一個matlab錯誤。我似乎無法糾正它。幫幫我!Matlab無效表達式錯誤
while B(i,j,k) ~= 0
{ C = C + B(i,j,k);
i++;
j++;
k++;
}
end
我想在double中添加一個mXnX3矩陣來獲取(i,i,i)元素的總和,但上面的聲明給出了一個matlab錯誤。我似乎無法糾正它。幫幫我!Matlab無效表達式錯誤
這很可能是錯誤,因爲它是不正確的Matlab語法。你讀過the documentation嗎?
要使用循環解決這個問題,你會寫:
C = 0;
for i=1:size(B,1)
C = C + B(i,i,i);
end
要做到這一點,在 「Matlab的」 往來港澳,你會寫
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用戶協作,請避免使用。 – 2013-02-15 01:34:47
但這不是_(i,i,i)_元素的總和......你只需要一個循環而不是三個。 – 2012-07-07 13:41:59
@EitanT:OP實際上很奇怪,因爲在mxnx3數組中添加*(i,i,i)*元素沒有多大意義。無論如何,我已經解決了答案。 – Jonas 2012-07-16 13:58:29