0
私はこのwikiページに示す方向フィールドと位相の肖像画を取得しようとしています:van der pol発振器の方向フィールドの描画方法は?
Van der Pol oscillator in wikipedia
マイコード:
options = odeset('MaxStep',0.5);
temp = inputdlg('Enter mu value');
mu = str2double(temp{1,1});
[t,y] = ode45(@(t,y) vdp1_1(t,y,mu),[0 10],[2; 0],options);
plot(y(:,1),y(:,2));
hold on
quiver(y(:,1), y(:,2), gradient(y(:,1)), gradient(y(:,2)))
hold off
function dydt = vdp1_1(t,y,mu)
dydt = zeros(2,1);
dydt(1) = y(2);
dydt(2) = [mu * (1-y(1)^2)*y(2)-y(1)];
end
所望の出力: wikiページに表示されているように、この上に方向フィールドを取得する方法
おかげで、あなたは矢印が示すことにしたいすべての点でベクトル場を計算する必要が
Gopi
おかげで、それは素晴らしい作品、しかし、一つ疑問が曲線のパスに近い方向フィールドの矢印は非常に小さく、ズームインしていない場合は明確ではないが、彼らとにかくを作るために矢筒プロットで、この矢印にサイズを与えることです彼らは大きく見える – Gopi
私は助けることがうれしいです。 'quiver'は、矢印を描画するグリッドに比例させて重なり合わないので、' scale'引数 'quiver(x、y、u、v、scale) 'でこの値を変更することができます。あなたが震えドキュメントhttps://www.mathworks.com/help/matlab/ref/quiver.html –
おかげでより多くの書式設定オプションを読み取ることができ、スケールが矢を調整するのに役立ちます – Gopi