我已經完成了很多搜索,到目前爲止還找不到滿意的答案,所以如果已經提出這個問題,我很抱歉。Matlab:數組求和總和
我被困在如何總結一個數組的維度。我有數組A(w0,lambda,2048,2048),並且我希望能夠定義第二個數組U(w0,2048,2048),它由A和維數lambda的和組成。
到目前爲止,我已經確定這兩個A和U如下:
A = zeros(length(w0),length(lambda),2048,2048);
U = zeros(length(w0),2048,2048);
for ii = 1:length(w0) % Scan through spot sizes
for aa = 1:length(lambda) % Scan through wavelengths
A(ii,aa,:,:) = ASM(w0(ii),lambda(aa),z1,z2);
end
U(ii,:,:) = sum(A,2);
end
哪裏ASM僅僅是一個函數。 z1和z2在前面定義,在這裏不相關。
我一直在試圖想出發現U(w0,2048,2048)的總和超過A(拉姆達)的第二維度的其他可能的方法,但都沒有成功...
感謝您的指點,並再次抱歉,如果這已經解決!
James。
非常感謝!現在用第一種方法工作。之前還沒有遇到過squeeze()函數 - 對matlab來說很新穎。 – James 2013-03-02 16:34:45