Correction : Code MATLAB pour stabiliser un système
Voici un exemple de code MATLAB permettant de modifier une fonction de transfert
instable afin de la rendre stable, puis d'afficher son diagramme de Bode. Ce code est à
insérer dans la section correspondante de l'exercice 2 – Partie A.
% Définition du numérateur de la fonction de transfert
num = 10;
% Définition du dénominateur initial (système instable)
den = [0.2, -1, 1]; % équation caractéristique : 0.2s^2 - s + 1
% Affichage des pôles du système initial
disp('Pôles du système initial :');
racine = roots(den)
% Modification des racines pour rendre le système stable
% Objectif : avoir uniquement des parties réelles négatives
for i = 1:length(racine)
if real(racine(i)) > 0
racine(i) = -abs(racine(i));
end
end
% Reconstruction du nouveau dénominateur à partir des racines modifiées
den1 = poly(racine);
% Création de la fonction de transfert stabilisée
H_stable = tf(num, den1);
% Affichage des pôles du système corrigé
disp('Pôles du système stabilisé :');
disp(pole(H_stable));
% Affichage du diagramme de Bode
figure;
bode(H_stable);
grid on;
title('Diagramme de Bode du système stabilisé');