% A7_43 %% a) G=tf(-2.5,[0.025 0.4 1.7 2]); disp('Streckenpole:'); pole(G) disp('Streckennullstellen:'); zero(G) figure(1);pzmap(G); % alle Pole links -> System stabil figure(2);step(G,5); % System nicht stationär genau G=zpk(G); set(G,'DisplayFormat','time constant'); disp('faktorisierte Darstellung'); G %% b) % Zeitkonstanten aus faktorisierter Darstellung: T1=0.5;T2=0.25;T3=0.1; Tsum=T2+T3; % => kein Zeitkonstante deutlich größer als die Summe der anderen % -> eher erster Fall geeignet %% c) % Betragsoptimum erste Art: keine größte Zeitkonstante % Streckenparameter a0=-2/2.5; a1=-1.7/2.5; a2=-0.4/2.5; a3=-0.025/2.5; % Reglerparameter r0=a0*(a1^2-a0*a2)/(a1*a2-a0*a3); r1=a1*(a1^2-a0*a2)/(a1*a2-a0*a3)-a0; % Regler und offener Kreis R1=tf([r1 r0],[2 0]); Fo1=G*R1; % Sprungantwort des geschlossenen Kreises figure(2);hold on;step(Fo1/(1+Fo1),'r',5);hold off; % Betragsoptimum zweite Art: T1 als deutlich größte Zeitkonstante % Verstärkung aus faktorisierter Darstellung k=-1.25; % Reglerparameter kR=1/(2*k*Tsum);TR=T1; % Regler und offener Kreis R2=kR*tf([TR 1],[1 0]); Fo2=G*R2; % Sprungantwort des geschlossenen Kreises hold on; step(Fo2/(1+Fo2),'y',5);hold off; legend('G','Gw1','Gw2'); % => Bestätigung: 1. Regler (nach erstem Fall) regelt Sprung etwas % schneller aus %% d) G2=zpk([],[-10,-4,-0.1],-5) set(G2,'DisplayFormat','time constant'); disp('veränderte Strecke'); G2 figure(3);step(G2,75); % Betragsoptimum erste Art: keine größte Zeitkonstante % Streckenparameter a0=-4/5; a1=-41.4/5; a2=-14.1/5; a3=-1/5; % Reglerparameter r0=a0*(a1^2-a0*a2)/(a1*a2-a0*a3); r1=a1*(a1^2-a0*a2)/(a1*a2-a0*a3)-a0; % Regler und offener Kreis R21=tf([r1 r0],[2 0]); Fo21=G2*R21; % Sprungantwort des geschlossenen Kreises figure(3);hold on;step(Fo21/(1+Fo21),'r',75);hold off; % Betragsoptimum zweite Art: T1 als deutlich größte Zeitkonstante % aus faktorisierter Darstellung k=-1.25;T1=10;T2=0.25;T3=0.1;Tsum=T2+T3; % Reglerparameter kR=1/(2*k*Tsum);TR=T1; % Regler und offener Kreis R22=kR*tf([TR 1],[1 0]); Fo22=G2*R22; % Sprungantwort des geschlossenen Kreises hold on; step(Fo22/(1+Fo22),'y',75);hold off; legend('G2','Gw21','Gw22'); % => Fazit: für große Zeitkonstanten sind beide Arten identisch