Vous êtes sur la page 1sur 3

TP1 

: Systèmes Non-Linéaires

Remarque: Le modèle et le programme doivent être écrit sur deux


fenêtres différentes.

Le compte-rendu doit comprendre uniquement les commentaires des


résultats sous forme de figures ou numériques

Exemple1 : Modèle attracteur de Lorenz


function xprime=Lorenz(t,x);
a=10;
b=8/3;
c=28;
xprime=[-a*x(1)+a*x(2);-x(2)-x(1)*x(3);-b*x(3)+x(1)*x(2)-b*c];

Programme
clear all
home
echo on
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Attracteur de Lorentz %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Xprime=[-a*(x(1)-x(2));
% -x(2)-x(1)*x(3);
% -b*x(3)+x(1)*x(2)-b*c]
pause %Press a key...

t0=0;tf=50; x0=[-8;8;27];
[t,x]=ode45('Lorenz',[0 50], [-8;8;27]);
echo off
figure(1), plot(t,x(:,1),'k'),title('Fig.1:Evolution de X1'), xlabel('temps
t'),ylabel('x1'),pause %Press a key...
figure(2), plot(t,x(:,1),'k',t,x(:,2),'green',t,x(:,3),'blue'),
title('Fig.2:Evolution de X1-X2-X3'),xlabel('temps t'),ylabel('x1-3'),pause
%Press a key...
figure(3), plot(x(:,1),x(:,3)),grid,title(' Attracteur de Lorenz '),
title('Fig.3:Plan de phase X1-X3'),xlabel('x1'),ylabel('x3'),pause
figure(4), plot(x(:,1),x(:,2)),grid,title(' Attracteur de Lorenz '),
title('Fig.4:Plan de phase X1-X2'),xlabel('x1'),ylabel('x2'),pause
figure(5), plot(x(:,2),x(:,3)),grid,title(' Attracteur de Lorenz '),
title('Fig.5:Plan de phase X2-X3'),xlabel('x2'),ylabel('x3'),pause
figure(6), plot3(x(:,1),x(:,2),x(:,3)),grid,
title('Fig.6:Plan de Phase 3D'), xlabel('x1'),ylabel('x2'),zlabel('x3'),
xlim([-10 20]),ylim([-10 40]),zlim([-30 20]),pause
%xlim([-30 +30]),,zlim([-30 30]),pause %Press a key...
Exemple 2: Oscillateur de Van Der Pol
% Equation de Vanderpol y''+µ(1-y2)y'+y=0 mise sous le modèle d'état

function dxdt = vdp1(t,x)


dxdt = [x(2); -10000*(1-x(1)^2)*x(2)-x(1)];

Programme
clc
home;
echo on
% Evolution de la solution de Vanderpol
% y''-µ(1-y2)y'+y=0
% dxdt = [x(2); -10000*(1-x(1)^2)*x(2)-x(1)]
pause %press a key...

t0=0;tf=50; X0=[0;1];
[t,x] = ode45('vdp1',[t0 tf],[X0]);pause % press a key...
figure(1), plot(t,x(:,1),'red',t,x(:,2),'blue'),grid,ylim([-4 +4]),
title('Fig.1: Evolution de X1 et X2');xlabel('Temps t');ylabel('Amplitude
x');legend('x_1','x_2'), pause %press a key...
figure(2), plot(x(:,1),x(:,2)), grid, xlim([-4 +4]); ylim([-4
+4]);title('Fig.2: Plan de phase X1-X2');
xlabel('x1');ylabel('x2'), pause %press a key...

Remarque: Le modèle et le programme doivent être écrit sur deux fenêtres


différentes.

Exemple3: Circuit non linéaire de Chua


function Xprime=Chua(t,x)
alpfa=9;
beta=100/7;
a=8/7;
b=5/7;
g=-b*x(1)-1/2*(a-b)*(abs(x(1)+1)-abs(x(1)-1));
Xprime=[alpfa*(x(2)-x(1)-g); x(1)-x(2)+x(3); -beta*x(2)];

Programme
clear all
home
echo on
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Circuit de Chua (Système Non Linéaire %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% % Xprime=[alpfa*(x(2)-x(1)-g(x(1)));x(1)-x(2)+x(3); -beta*x(2)];
% g(x(1))=-b*x(1)-1/2*(a-b)*(abs(x(1)+1)-abs(x(1)-1));
pause %Press a key...

t0=0;tf=50; x0=[0;0;0.75];
[t,x]=ode45('Chua',[0 50], [0;0;0.75]);
echo on
figure(1), plot(t,x(:,1),'k'),title('Fig.1:Evolution de X1'), xlabel('temps
t'),ylabel('x1'),pause %Press a key...
figure(2), plot(t,x(:,1),'k',t,x(:,2),'green',t,x(:,3),'blue'),
title('Fig.2:Evolution de X1-X2-X3'),xlabel('temps t'),ylabel('x1-3'),pause
%Press a key...
figure(3), plot(x(:,1),x(:,3)),grid,title(' Attracteur de Chua '),
title('Fig.3:Plan de phase X1-X3'),xlabel('x1'),ylabel('x3'),pause
figure(4), plot(x(:,1),x(:,2)),grid,title(' Attracteur de Chua'),
title('Fig.4:Plan de phase X1-X2'),xlabel('x1'),ylabel('x2'),pause
figure(5), plot(x(:,2),x(:,3)),grid,title(' Attracteur de Chuar'),
title('Fig.5:Plan de phase X2-X3'),xlabel('x2'),ylabel('x3'),pause
figure(6), plot3(x(:,1),x(:,2),x(:,3)),grid,
title('Fig.6:Plan de Phase 3D'), xlabel('x1'),ylabel('x2'),zlabel('x3'),
xlim([-3 +3]),ylim([-3 +3]),zlim([-3 +3]),pause
%xlim([-30 +30]),,zlim([-30 30]),pause %Press a key...

TP 2 : Fonctions de Lyapunov

Programme :
clear all
home
echo on
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Fonction de Lyapunov %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%

[x1,x2] = meshgrid([-2:0.1:2]);
V = (x1.^2)+(x2.^2);
figure(1),plot3(x1,x2,V),grid on,
title('V = x1^2+x2^2'),xlabel('x1'), ylabel('x2'),zlabel('V(x1,x2)'),pause
%Press a key...
figure(2),surf(x1,x2,V,gradient(V)),
title('V = x1^2+x2^2'),xlabel('x1'), ylabel('x2'),zlabel('V(x1,x2)'),pause
%Press a key...
W=-V;
figure(3),plot3(x1,x2,W),grid on,
title('V = x1^2+x2^2'),xlabel('x1'), ylabel('x2'),zlabel('W(x1,x2)'),pause
%Press a key...
figure(4),surf(x1,x2,W,gradient(W)),
title('V = x1^2+x2^2'),xlabel('x1'), ylabel('x2'),zlabel('W(x1,x2)'),pause
%Press a key...
clear all
home

Vous aimerez peut-être aussi