Erzeugung eines „unsymmetrischen“ Dreiecks aus Sägezahn ...
Erzeugung eines „unsymmetrischen“ Dreiecks aus Sägezahn ...
Erzeugung eines „unsymmetrischen“ Dreiecks aus Sägezahn ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Prof. Dr. R. Kessler,C:\Si05\dgln\matlab\unsymdreieck.doc, S. 1/2<br />
Homepage: http://www.home.hs-karlsruhe.de/~kero0001/<br />
<strong>Erzeugung</strong> <strong>eines</strong> <strong>„unsymmetrischen“</strong> <strong>Dreiecks</strong> <strong>aus</strong> <strong>Sägezahn</strong>,<br />
Simulink und Matlab<br />
Simulink:(rot), Matlab:schwarz<br />
bild 3, fs=1, sw=0.1, dt=0.01<br />
1<br />
0.8<br />
0.6<br />
0.4<br />
0.2<br />
0<br />
-0.2<br />
-0.4<br />
-0.6<br />
-0.8<br />
-1<br />
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2<br />
-> sec, Dreieck(-1..+1):glatt, Dreieck(0..+1)gestrichelt, <strong>Sägezahn</strong>: gepunktet<br />
Aufruf war: clear; fs=1; sw=0.1;tmax=2;dt=0.01;bild=3; rdrei1;<br />
Simulink:(rot), Matlab:schwarz<br />
bild 4, fs=1, sw=0.9, dt=0.01<br />
1<br />
0.8<br />
0.6<br />
0.4<br />
0.2<br />
0<br />
-0.2<br />
-0.4<br />
-0.6<br />
-0.8<br />
-1<br />
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2<br />
-> sec, Dreieck(-1..+1):glatt, Dreieck(0..+1)gestrichelt, <strong>Sägezahn</strong>: gepunktet<br />
Aufruf war : clear; fs=1; sw=0.9;tmax=2;dt=0.01;bild=4; rdrei1;<br />
Datei drei1.mdl<br />
Rundatei rdrei1.m<br />
saeg<br />
t<br />
fs* u - floor ( fs*u )<br />
u - sw<br />
abs(u) * ( ( sgn(u) 0)/(1- sw) )<br />
drei<br />
( u - 0.5) *2<br />
dreid
Prof. Dr. R. Kessler,C:\Si05\dgln\matlab\unsymdreieck.doc, S. 2/2<br />
% Datei rdrei1.m Rundatei für Simulink-Datei drei1.mdl<br />
% clear; fs=1; sw=0.2;tmax=5;dt=0.01;bild=2; rdrei1;<br />
format compact;<br />
if bild ==1, drei1; p<strong>aus</strong>e; end; % Simulink-Modell auf Bildschirm<br />
sim('drei1');<br />
figure(bild);clf;<br />
plot(t,saeg,':m', t,drei,'--m', t,dreid,'m'); grid on;<br />
xlabel('-> sec, Dreieck(-1..+1):glatt, Dreieck(0..+1)gestrichelt, <strong>Sägezahn</strong>: gepunktet');<br />
axis([0,max(t),-1.1, 1.1]);<br />
S1=['bild ',num2str(bild)]; S2=[', fs=',num2str(fs)]; S3=[', sw=',num2str(sw)];<br />
S4=[', dt=',num2str(dt)];<br />
tit=[S1,S2,S3,S4]; title(tit);<br />
ylabel('Simulink:(rot), Matlab:schwarz');<br />
disp('das war Simulink(rot), Taste! ');p<strong>aus</strong>e;<br />
% jetzt mit Matlab:<br />
Np=floor(tmax/dt); tp=zeros(Np,1); ysp=tp; dp=tp; ddp=tp;<br />
k=0;t=0;<br />
while t < tmax;<br />
ys= t*fs - floor(t*fs);<br />
usw=ys-sw;<br />
d=abs(usw) * ( ( sign(usw) 0)/(1- sw) );<br />
dd=(d-0.5)*2;<br />
k=k+1; tp(k)=t; dp(k)=d; ysp(k)=ys; ddp(k)=dd;<br />
t=t+dt;<br />
end;<br />
hold on;<br />
plot(tp,ysp,':k', tp,dp,'--k', tp,ddp,'k');