私はmatlabでこの特定の問題を解決しようとしています
"システムを考えてみましょうdr/dt = r *(l --r ^ 2)+ mu * r cos(theta)
d(シータ)/ dt = 1
mu = oの場合、r = 1で安定したリミットサイクルがあります。muが十分に小さい限り、mu>0の間は閉じた軌道がまだ存在することを示してください。」
近いリミットサイクルを描くことはできますが、x対yグラフのベクトル場を描くことができません。
これが私のコードです。
function file->
function dy = tst(t,y)
%UNTITLED Summary of this function goes here
% Detailed explanation goes here
dy = zeros(2,1);
dy(1) = y(1)*(1-y(1)*y(1))+1.5*y(1)*cos(y(2));
dy(2) = 1;
end
script file->
[t,r] = ode45(@tst,[0, 40],[1,0]);
x = r(:,1).*cos(r(:,2));
y = r(:,1).*sin(r(:,2));
figure(1)
plot(x,y);
hold on
[R,T] = meshgrid(r(:,1),r(:,2));
X = R.*cos(T);
Y = R.*sin(T);
quiver(R,T,X,Y);
私はこれを間違った方法でやっていると思いますが、ベクトル場を描く正しい方法は何ですか?問題はスクリプトファイルにあります。