2012-07-03 134 views
0

這對我來說是一個相當微不足道的錯誤,但我在這裏看不到它。下標賦值尺寸不匹配

>> rmatrix = zeros(size(Rx,1), size(Rx,2)); 
for k = 1:size(Rx,1) 
    for l = 1:size(Rx,2) 
     rmatrix(k,l) = [Rx(k,l).^2, (Ry(k,l)).^2]; 
    end 
end 
??? Subscripted assignment dimension mismatch. 
+3

嗨,你應該學會如何用Matlab進行調試。幾分鐘後,你可以自己弄清楚自己的問題。 http://www.mathworks.com/help/techdoc/matlab_prog/f10-60570.html – CTZStef

回答

2
>> rmatrix = zeros(size(Rx,1), size(Rx,2)); 
for k = 1:size(Rx,1) 
    for l = 1:size(Rx,2) 
     rmatrix(k,l) = [Rx(k,l).^2, (Ry(k,l)).^2]; % CHECK THIS LINE 
    end 
end 
??? Subscripted assignment dimension mismatch. 
9
rmatrix(k,l) = [Rx(k,l).^2, (Ry(k,l)).^2]; 

你想一個1x2矩陣分配給1x1矩陣

也許你打算做到以下幾點:

rmatrix = zeros(size(Rx,1), size(Rx,2),2); 
for k = 1:size(Rx,1) 
    for l = 1:size(Rx,2) 
     rmatrix(k,l,:) = [Rx(k,l).^2, (Ry(k,l)).^2]; 
    end 
end 

//編輯:這你可以做更多的事情:

rmatrix = cat(3,Rx,Ry).^2 
+0

你完全正確。感謝您的光臨。 – brucezepplin

1

問題是這肯定是??

rmatrix(k,l) = [Rx(k,l).^2, (Ry(k,l)).^2]; 

您將一個向量賦值給數組的標量元素。這不是問題嗎?

相關問題