2013-10-27 77 views
-1

C是一個2×360的矩陣,用於形成單位圓的輪廓。 C = [v1 | v2 | v3 ... v360]其中v1旋轉了1°,v2旋轉了2°等等。R是給定的旋轉矩陣。 e是一個列向量[1 0]如何使用for循環填充矩陣

我初始化的矩陣由

>> C=zeros(2,360); 

我不知道如何使用for循環來填充矩陣C的條目

>> for c = 1:360 
C = (R^c)*e; 
end 

而那麼以下是應該繪製圓圈。

>> plot(C(1,:), C(2,:)) 

回答

2

您需要在每次旋轉時設置每列,因此您需要在每次旋轉時設置C(:,c)。即

for c = 1:360 
    C(:,c) = (R^c) * c; 
end 

但是,您可以在沒有for循環的情況下執行整個操作。 (MATLAB喜歡避免循環)。

由於

t = 2*pi/360; 
R = [cos(t) -sin(t); sin(t) cos(t)]; 

我們有

R*e = [cos(t); sin(t)]; 

所以我們正在尋找

C = [cos(t) cos(2*t) ... cos(360*t); 
    sin(t) sin(2*t) ... sin(360*t)]; 

C = [cos(t * (1:360)); sin(t * (1:360))];