私の英語が少し錆びているなら、こんにちは。私はパラメトリック関数に沿って移動する円を作成しようとしています(座標はベクトルに格納されます)。私は円を描画するための関数を記述していると私は円の形を作成し、楕円を避けるためにあなたは、MATLABの軸の等しいコマンドを使用することができます知っている。私の問題は、私がこれを行うと、プロットされたグラフに対してFigureウィンドウが非常に広くなることです。すべての入力をいただければ幸いです。matlab:グラフと軸に沿って円を動かす
MAIN CODE:
t = linspace(0,3);
x = 30*cos(pi/4)/2*(1-exp(-0.5*t));
y = (30*sin(pi/4)/2 + 9.81/0.5^2)*(1-exp(0.5*t)) - 9.81*t/0.5;
for i = 1:length(t)
plot(x,y)
axis equal
hold on
cirkel(x(i),y(i),1,1,'r') % argument #3 is the radius #4 is 1 for fill
hold off
pause(0.01)
end
CIRCLEのCODE:
function cirkel(x,y,r,f,c)
angle = linspace(0, 2*pi, 360);
xp = x + r*cos(angle);
yp = y + r*sin(angle);
plot(x,y)
if f == 1 && nargin == 5
fill(xp,yp,c)
end
これは正しく動作しているようです。 Axis equalはグラフのスケールを変更して、両方の軸で等しい比率になるようにします。プロットの範囲(y軸エクステント)がドメイン(x軸エクステント)よりもはるかに大きい場合、プロットの場合と同様に、MATLABはx軸を拡張して正しい表示比率を作成する必要があります。これは、すべて完全に正常な動作です。 [0,10]の範囲でx軸を維持して、グラフの曲率を見ることができるようにするには、ちょうど小さな "円"を楕円としてプロットして、スケーリングが円形に見えるようにします。 – gariepy