%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% Sous-Programme placement_poles.m %%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function [Pbf1,Pbf2]=placement_poles(vitesse,dzeta,poles_rapides,A,B,n,delta0) z=dzeta; w=vitesse; inf=poles_rapides; poly_A=A; poly_B=B; valeur_n=n; valeur_delta0=delta0; %% Calcul des pôles et des zéros du système initial Pbo=roots(poly_A); Zbo=roots(poly_B); m=size(Zbo,1); % Placement des pôles vis-à-vis de la rapidité for i=1:valeur_n if real(Pbo(i))0 Pbf1(i)=-abs(imag(Pbf1(i)))*z/sqrt(1-z^2)+j*imag(Pbf1(i)); else Pbf1(i)=Pbf1(i); end end % Pôle en BF lié au déplacement de s=0 Pbf1(valeur_n+1)=w; %% Placement des n+delta0-1 pôles restants for i=1:m if real(Zbo(i))>0 Pbf2(i)=-real(Zbo(i))+j*imag(Zbo(i)); else Pbf2(i)=Zbo(i); end end for i=m+1:valeur_n+valeur_delta0-1 Pbf2(i)=inf; end