0% ont trouvé ce document utile (0 vote)
4 vues5 pages

Introduction à Matlab et Simulink

Le document présente une introduction à Matlab et Simulink, couvrant des manipulations de base, des tracés de courbes, l'exécution de programmes et la programmation de fonctions. Il inclut également des exemples de S-functions pour la simulation de systèmes dynamiques. Les concepts clés incluent l'affectation, les calculs de matrices, et la gestion des états dans un modèle de rapport-cyclique.

Transféré par

Ataher Beknaoui
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
4 vues5 pages

Introduction à Matlab et Simulink

Le document présente une introduction à Matlab et Simulink, couvrant des manipulations de base, des tracés de courbes, l'exécution de programmes et la programmation de fonctions. Il inclut également des exemples de S-functions pour la simulation de systèmes dynamiques. Les concepts clés incluent l'affectation, les calculs de matrices, et la gestion des états dans un modèle de rapport-cyclique.

Transféré par

Ataher Beknaoui
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Matlab / Simulink – une introduction

» pwd

» dir

» cd ..
» cd nom_répertoire

» help
» help nom_fonction

Manipulations de base : affectation et calculs de base

» a=2 % on peut ajouter ‘;’ à la fin pour éviter l’affichage


» 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 récupérer 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’ % transposée conjugée
» V3=V2.’ % transposée
» 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)
Exécution d’un programme

» NomProg

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

Programmation d’une fonction

, # %-&
% essai de fonction à deux paramètres d’entrée et deux
paramètres 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 à paramètres 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, d’un système 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 d’états continus, nbre d’états discrets,
nbre de sorties, nbre d’entrées
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 discrète

78 70
& 7 5
- & "
, 9 2&
% Modèle d'un rapport-cyclique
%
% u = alpha (entrée)
% x = [Etat, alpha0]
% y = Etat
% Etat = 1 : niveau haut
% Etat = 0 : niveau bas
% alpha0 : valeur du rapport-cyclique à t(k)
% sauvegardée 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 entrée
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 : .- $ %
%

Vous aimerez peut-être aussi