求大神用Matlab解一下下面的自治微分方程组,画出轨迹图线。(要有源代码)重谢!
2016-11-29
function [] = SOLVE( x_0 , y_0 , A , k , N , step_t )
function [ u2 ] = D( u1 , A1 , A2 , h )
function [ f ] = F( v , B1 , B2 )
v1 = v(1);
v2 = v(2);
f1 = B1 + B2 * sin( v2 - v1 );
f2 = B1 + B2 * sin( v1 - v2 );
f = [ f1 ; f2 ];
end
K1 = F( u1 , A1 , A2 );
K2 = F( u1 + h/2 * K1 , A1 , A2 );
K3 = F( u1 + h/2 * K2 , A1 , A2 );
K4 = F( u1 + h * K3 , A1 , A2 );
u2 = u1 + h/6*( K1 + 2*K2 + 2*K3 + K4 );
end
P_0 = [ x_0 ; y_0 ];
PLOT = P_0;
for i = 1 : 1 : N
P_1 = D( P_0 , A , k , step_t );
PLOT = [ PLOT , P_1 ];
P_0 = P_1;
end
PLOT_X = PLOT( 1 , : );
PLOT_Y = PLOT( 2 , : );
figure(1);
plot( PLOT_X , PLOT_Y );
end