Vous êtes sur la page 1sur 5

Matlab / Simulink une introduction

pwd

dir

cd ..
cd nom_rpertoire

help
help nom_fonction

Manipulations de base : affectation et calculs de base

a=2 % on peut ajouter ; la fin pour viter laffichage


z1=1+j % j des complexes
z2=2*i % i=j
U=[2;3] % vecteur colonne
V=[4 5] % vecteur ligne
M=[1,2;3,4] % matrice
m12=M(1,2) % pour rcuprer le terme ligne 1, colonne 2
J=U*V % multiplication
V2=1:5 % vecteur ligne des entiers de 1 5
V2=0:0.1:0.8 % vecteur ligne des nombres de 0 0.8 avec un
pas de 0.1
V3=V2 % transpose conjuge
V3=V2. % transpose
J=U.*V % multiplication terme terme

Trac de courbes

t=linspace(0,2*pi,50) % pi=3.14
x=20*sin(t)
plot(t,x)
Excution dun programme

NomProg

! " # $ %
& ' $ "
()
*
if a==1,
disp(a est gal 1) % affichage
else
disp(a est diffrent de 1)
end
* +
for ind=1:10,
disp([ind est gal num2str(ind)])
end

Programmation dune fonction

, # %-&
% essai de fonction deux paramtres dentre et deux
paramtres de sortie
function [y1,y2]=essai_f1(u1,u2)
y1=u1+u2;
y2=u1*u2;
. % /0
* %
[yy1,yy2]=essai_f1(1,2)
.
% essai de fonction paramtres vectoriels
function y=essai_f2(u)
u1=u(1); u2=u(2);
y1=u1+u2;
y2=u1*u2;
y=[y1;y2];
. % /1 %
uu=[1;2]
yy=essai_f2(uu)
2 3 +
-

1 MATLAB 1
Function
u x
MATLAB Fcn

Simulation, sous Simulink, dun systme dynamique avec une S-function

4 .- $ . 3$ &5
" 6 &5
"
= (1 + 0) 1

1 system 1
u x
S-Function

2 5 3 +.-

function [sys,x0]=model(t,x,u,flag),

if flag==0, % Initialisation
sys=[1 0 1 1 0 0]; % nbre dtats continus, nbre dtats discrets,
nbre de sorties, nbre dentres
x0 = 0; % valeur initiale des tats

elseif flag==1, % calcul de dx/dt


sys=(2*x+1)*u^2;

elseif flag==3, % calcul des sorties


sys=x;

else
sys=[];

end
2 5 7 . 3

1
1 1
s
u x
Integrator
Product

Gain

Constant
Exemple de S-fonction discrte

78 70
& 7 5
- & "
, 9 2&
% Modle d'un rapport-cyclique
%
% u = alpha (entre)
% x = [Etat, alpha0]
% y = Etat
% Etat = 1 : niveau haut
% Etat = 0 : niveau bas
% alpha0 : valeur du rapport-cyclique t(k)
% sauvegarde dans x(2)

function [sys,x0]=RappCycl(t,x,u,flag,T),

if flag==0, % Initialisation
sys=[0 2 1 1 0 0]; % 0 tats continus; 2 tats discrets; 1 sortie;
1 entre
x0 = [1; 0.02];

elseif flag==2, % x(k+1)


alpha=u; Etat=x(1); alpha0=x(2);
switch Etat,
case 1, % Etat == 1
sys=[0; alpha0];
case 0, % Etat ==0
sys=[1; min([0.98 max([0.02 alpha])])];
end

elseif flag==3, % y(k)


sys=x(1);

elseif flag==4, % t(k+1)


alpha=u; Etat=x(1); alpha0=x(2);
switch Etat,
case 1,
sys=t+alpha0*T;
case 0,
sys=t+(1-alpha0)*T;
end

else
sys=[];

end
4
t
Clock
To Workspace

0.7 RappCycl C

alpha rapport-cyclique To Workspace1

' 5 5 : .- $ %
%