function srt03Nyquist0 % SRT Rechnerdemo 3 % WS 2000-2001 % Klaus Schmid, 23.10.2000 / Eberhard Münz 28.11.2001 n=[-5]; p=[-2 -3 -1+j -1-j]; % k=evalin('base','k'); k_all={10; 5; 15}; % Übertragungsfunktion berechnen for r=1:size(k_all,1) k=k_all{r,1} System = zpk(n,p,k) re=[]; im=[]; for w=0:0.03:20 nenner=1; zaehler=k; for m=1: length(p) nenner=(i*w-p(m))*nenner; end for m=1:length(n) zaehler=(i*w-n(m))*zaehler; end re=[re;real(zaehler/nenner)]; im=[im;imag(zaehler/nenner)]; end re_all{r,1}=re; im_all{r,1}=im; end; if isempty(findobj('tag','srt03nyquist01')) fig=figure; set (fig,'tag','srt03nyquist01','Name','Nyquist-Ortskurve für verschiedene k'); else figure(findobj('tag','srt03nyquist01')); end %plot([-2;2],[0; 0],'gr'); %hold on; %plot([0; 0],[-2; 2],'gr'); %hold on; plot(-1,0,'+r','Linewidth',2); hold on; plot(-1.5,0,'w'); hold all; for r=1:size(k_all,1) h(r)=plot(re_all{r,1},im_all{r,1}); end; %axes; grid on; hold off; legend([h(1),h(2),h(3)],'k=10','k=5','k=15','Location','SE');