Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- close all; clear all;
- TS_lab_04
- function TS_lab_04
- tspan1 =[0 0.25];
- tspan2 =[0.251 0.50];
- tspan3 =[0.501 0.75];
- tspan4 =[0.751 1];
- x0_1 =[1 0 0];
- a1 =0.04; b1 =0.6; c1 = 0.2;
- a2 =0.05; b2 = 0.35; c2 =0.37;
- a3 = 0.13; b3 =0.0067; c3 =0.2;
- a4 0.1; b4 =0.4; c4 = 0.3;
- [ tsol , xsol ] = ode45 ( @ (t , x ) odefcn (t ,x , a1 , b1 , c1 ) , tspan1 , x0_1 );
- x3 =1 - xsol (: ,1) - xsol (: ,2);
- z1 =[0.25 ,0.25];
- z2 =[0.5 ,0.5];
- z3 =[0.75 ,0.75];
- y =[0 ,1];
- figure (1); hold on ; grid on ;
- plot ( tsol , xsol (: ,1) , ’r ’ , tsol , xsol (: ,2) , ’b ’ , tsol , x3 , ’g ’ );
- title ( ’ Wykres ␣ x ( t ) ’ );
- xlabel ( ’t ’ );
- ylabel ( ’x ( t ) ’ );
- % legend ( ’x1 ’ , ’x2 ’ , ’x3 ’);
- x0_2 =[ xsol (end ,1) xsol (end ,2) x3 (end )];
- [ tsol , xsol ] = ode45 ( @ (t , x ) odefcn (t ,x , a2 , b2 , c2 ) , tspan2 , x0_2 );
- x3 =1 - xsol (: ,1) - xsol (: ,2);
- plot ( tsol , xsol (: ,1) , ’r ’ , tsol , xsol (: ,2) , ’b ’ , tsol , x3 , ’g ’ );
- x0_3 =[ xsol (end ,1) xsol (end ,2) x3 (end )];
- [ tsol , xsol ] = ode45 ( @ (t , x ) odefcn (t ,x , a3 , b3 , c3 ) , tspan3 , x0_3 );
- x3 =1 - xsol (: ,1) - xsol (: ,2);
- plot ( tsol , xsol (: ,1) , ’r ’ , tsol , xsol (: ,2) , ’b ’ , tsol , x3 , ’g ’ );
- x0_4 =[ xsol (end ,1) xsol (end ,2) x3 (end )];
- [ tsol , xsol ] = ode45 ( @ (t , x ) odefcn (t ,x , a4 , b4 , c4 ) , tspan4 , x0_4 );
- x3 =1 - xsol (: ,1) - xsol (: ,2);
- plot ( tsol , xsol (: ,1) , ’r ’ , tsol , xsol (: ,2) , ’b ’ , tsol , x3 , ’g ’ );
- plot ( z1 ,y , ’k - - ’ );
- plot ( z2 ,y , ’k - - ’ );
- plot ( z3 ,y , ’k - - ’ );
- t1 =0:0.001:0.25;
- t2 = t1 +0.25;
- t3 = t2 +0.25;
- t4 = t3 +0.25;
- u1 = @ ( t ) min (max ( a1 .* t + b1 , 0) , 1);
- u2 = @ ( t ) min (max ( a2 .* t .* t + b2 .* t + c2 , 0) , 1);
- 4
- u3 = @ ( t ) min (max ( a3 .* t .* t + b3 .* t + c3 , 0) , 1);
- u4 = @ ( t ) min (max ( a4 .* t + b4, 0) , 1);
- figure (2); hold on ; grid on ;
- title ( ’ Wykres ␣ czterech ␣ funkcji ␣ u ( t ) ␣ zmiennych ␣ na ␣ p r z e d z i a a c h ’ );
- xlabel ( ’t ’ );
- ylabel ( ’u ( t ) ’ );
- plot ( t1 , u1 ( t1 ));
- plot ( t2 , u2 ( t2 ));
- plot ( t3 , u3 ( t3 ));
- plot ( t4 , u4 ( t4 ));
- plot ( z1 ,y , ’k - - ’ );
- plot ( z2 ,y , ’k - - ’ );
- plot ( z3 ,y , ’k - - ’ );
- end
- function dxdt = odefcn (t ,x ,a ,b , c )
- u = a * t * t + b * t + c ;
- if u >1
- u =1;
- end
- if u <0
- u =0;
- end
- dxdt = zeros (3 ,1);
- dxdt (1) = u *(10* x (2) - x (1));
- dxdt (2) = u *( x (1) -10* x (2)) -(1 - u )* x (2);
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement