2016-03-29 5 views
0

マトリックスで変換された点で円を描くように指示されています。私はこのオクターブで線が描かれない

Result of running the code私は行がすべての点の間に描画されるようになるだろうどのように

を取得するコードを実行すると、私は

c = cos(pi/8) 
s = sin(pi/8) 
A = [c -s; s c] 
xy = [1;0] 
axis('square') 
for i = 1:17 
    xy = A * xy; 
    plot(xy(1, :), xy(2,:), 'r', 'linewidth', 2); 
    hold on 
endfor 

すべてのポイントの間を描画するラインを取得するように見えることはできません?

ありがとう

+0

それはあなたのために線を描画しますか? –

+0

Octave 3.8.2には行がありません。 – beaker

+0

申し訳ありませんが、他の誰かのために作ったものです。コメントを削除しました –

答えて

0

プロットする前に、すべての点を計算する必要があります。一度に1つのポイントだけをプロットすると、ラインをどこにも接続できません。

c = cos(pi/8) 
s = sin(pi/8) 
A = [c -s; s c] 
xy = zeros(2,17); %// preallocate the matrix 
xy(:,1) = [1;0] 
for i = 2:17 
    xy(:,i) = A * xy(:,i-1); 
endfor 

plot(xy(1, :), xy(2,:), 'r', 'linewidth', 2); 
axis('square') %// goes *after* the plot (thanks @Andy) 

Plot created by script

+0

プロット自体を投稿していないのは残念です。私は何らかの理由で数字を保存することに問題があります。 – beaker

+0

Btw、plotコマンドの後に "axis( 'square')を配置する必要があります。 – Andy

+0

@Andyええ、私の悪い。 – beaker

関連する問題