Bonjour,

En essayant de comprendre des resultats de TP bizarres pour plusieurs de mes eleves, j'ai trouve des incoherences dans plusieurs resultats donnes par Matlab :

Je declare une fonction de transfert qui est ma boucle ouverte que je commande avec un correcteur proportionnel.

Je calcule le gain du correcteur mettant ma boucle fermee en limite de stabilite avec le tableau de Routh. Je trouve . Pour cette valeur du correcteur, la partie reelle du pole en BF est de l'ordre de , j'en conclut que c'est 0 aux erreurs d'arrondis pres et que mon calcul est confirme.

En revanche, en tracant le lieu des racines (lieu d'Evans quand j'etudiais ca en France), quand le gain vaut 2.0235, les poles sont deja dans la zone instable et le gain marginal obtenu graphiquement n'est que de 1.97

Cette difference me parait importante pour s'expliquer par des erreurs d'arrondis. Des idees ?

Merci

Patrick


Je joins le code pour ceux qui voudraient reproduire le phenomene :

Code:
clc
clear all
close all

G = zpk([],[0 -3 -15],400)

disp('Routh array analysis : Kmarg = 2.025 - wd = sqrt(810/400) \approx 6.7082')

disp('Check the CL poles for the marginally stable gain -> OK')
K = 2.025;
disp(strcat('Command gain : ', num2str(K)))
CL = feedback(K*G, 1);
damp(CL)

rlocus(G)
axis([-0.1 .1 6.3 6.8])

disp('But graphically')
disp('For K = 2.025, CL is already unstable (CL pole at 0.026) and Kmarg < 1.97')
K = 1.97;
disp(strcat('Command gain : ', num2str(K)))

CL = feedback(K*G, 1);
disp('Closed loop poles')
damp(CL)