„SzabtechLabZH” változatai közötti eltérés
a legyen egyben |
a pre tagek kiszedve, inkább indentálva |
||
| 7. sor: | 7. sor: | ||
<s>[http://www.aut.bme.hu/Portal/Default/DocDownload.aspx?DocId=844bd985-e822-4587-8100-f9c6d6d0179d&CultureId=16df90ec-fcf2-466d-8f3e-8c4057561621 Gyakorló feladatok a labor ZH-hoz (pdf)]</s> | <s>[http://www.aut.bme.hu/Portal/Default/DocDownload.aspx?DocId=844bd985-e822-4587-8100-f9c6d6d0179d&CultureId=16df90ec-fcf2-466d-8f3e-8c4057561621 Gyakorló feladatok a labor ZH-hoz (pdf)]</s> | ||
[http://info.sch.bme.hu/document.php?cmd=download_proc&tmp_page=&doc_id=20491Szerintem Itt még elérhető] | [http://info.sch.bme.hu/document.php?cmd=download_proc&tmp_page=&doc_id=20491Szerintem Itt még elérhető] | ||
(sajnos már itt sem, valaki belinkelné?) | |||
Itt van pár feladat, amihez tök jó volna ha összehoznánk a megoldásokat, mert pl. az 1. zh-hoz kiadott pdf-ből is válogattak a zh-ba, lehet hogy itt is van erre esély, másrészt meg gyakorolni mindenképp jó. Köszi :) | Itt van pár feladat, amihez tök jó volna ha összehoznánk a megoldásokat, mert pl. az 1. zh-hoz kiadott pdf-ből is válogattak a zh-ba, lehet hogy itt is van erre esély, másrészt meg gyakorolni mindenképp jó. Köszi :) | ||
| 74. sor: | 75. sor: | ||
'''Matlab:''' | '''Matlab:''' | ||
t=0:0.05:10; | |||
t=0:0.05:10; | y=step(T,t) %átmeneti függvény kiszámítása | ||
y=step(T,t) %átmeneti függvény kiszámítása | ys=dcgain(T) %állandósult érték kiszámítása | ||
ys=dcgain(T) %állandósult érték kiszámítása | ym=max(y) %maximális érték | ||
ym=max(y) %maximális érték | yt=((ym-ys)/ys)*100 %túllendülés százalékban | ||
yt=((ym-ys)/ys)*100 %túllendülés százalékban | |||
Eredmény: | |||
yt = | yt = | ||
| 103. sor: | 104. sor: | ||
tehát konkrét adatokkal: | tehát konkrét adatokkal: | ||
y(t->inf) = lim(s-> | y(t->inf) = lim(s->0) s*T(s)/s^2 | ||
===2. feladat=== | ===2. feladat=== | ||
| 117. sor: | 118. sor: | ||
'''Matlab:''' | '''Matlab:''' | ||
kc=1; | |||
kc=1; | C=kc*((1+2*s)/(1+(2/3)*s)); | ||
C=kc*((1+2*s)/(1+(2/3)*s)); | L=C*P; | ||
L=C*P; | w=logspace(-1,1,500); | ||
w=logspace(-1,1,500); | [mag,phase]=bode(L,w); | ||
[mag,phase]=bode(L,w); | kc=margin(mag,phase-60,w); %60 fokos fázistartalék | ||
kc=margin(mag,phase-60,w); %60 fokos fázistartalék | C=C*kc | ||
C=C*kc | L=C*P; | ||
L=C*P; | L=minreal(L); | ||
L=minreal(L); | figure(1),margin(L); | ||
figure(1),margin(L); | |||
Eredmény: | |||
Zero/pole/gain: | Zero/pole/gain: | ||
| 139. sor: | 140. sor: | ||
==== c/ ==== | ==== c/ ==== | ||
[gt,pm,wg,wc] = margin(L); | |||
[gt,pm,wg,wc] = margin(L); | pm %fázistartalék | ||
pm %fázistartalék | t1=(3/wc) %a beállási (szabályozási) idő e két érték között lesz | ||
t1=(3/wc) %a beállási (szabályozási) idő e két érték között lesz | t2=(10/wc) | ||
t2=(10/wc) | T=L/(1+L); | ||
T=L/(1+L); | figure(2),step(T),grid | ||
figure(2),step(T),grid | y=step(T); %kimeneti jel | ||
y=step(T); %kimeneti jel | ymax = max(y) %kimeneti jel maximuma | ||
ymax = max(y) %kimeneti jel maximuma | ys=dcgain(T) %kimeneti jel állandósult értéke | ||
ys=dcgain(T) %kimeneti jel állandósult értéke | yt=(ymax-ys)/ys*100 %túllendülés százalékban | ||
yt=(ymax-ys)/ys*100 %túllendülés százalékban | es=1-ys %egytől való eltérés | ||
es=1-ys %egytől való eltérés | U=C/(1+L); | ||
U=C/(1+L); | U=minreal(U); | ||
U=minreal(U); | figure(3),step(U),grid | ||
figure(3),step(U),grid | u=step(U); | ||
u=step(U); | umax = max(u) %vezérlő jel maximuma | ||
umax = max(u) %vezérlő jel maximuma | |||
Eredmény: | |||
http://i.imgur.com/cPppq7h.png | http://i.imgur.com/cPppq7h.png | ||
| 327. sor: | 328. sor: | ||
==== c/ ==== | ==== c/ ==== | ||
y=step(Ts); | |||
y=step(Ts); | ymax = max(y) %a kimenet maximális értéke | ||
ymax = max(y) %a kimenet maximális értéke | ys=dcgain(Ts) %állandósult érték | ||
ys=dcgain(Ts) %állandósult érték | yt=(ymax-ys)/ys*100 %túllövés értéke százalékban | ||
yt=(ymax-ys)/ys*100 %túllövés értéke százalékban | es=1-ys %az előírt 1-tól való eltérés | ||
es=1-ys %az előírt 1-tól való eltérés | Uz=Cz/(1+Lz); %zárt rendszer beavatkozó jele | ||
Uz=Cz/(1+Lz); %zárt rendszer beavatkozó jele | Uz=minreal(Uz,0.001); %egyszerűsítések elvégzése | ||
Uz=minreal(Uz,0.001); %egyszerűsítések elvégzése | figure(3),step(Uz),grid %beavatkozó jel kirajzolása | ||
figure(3),step(Uz),grid %beavatkozó jel kirajzolása | u=step(Uz); | ||
u=step(Uz); | umax = max(u) %maximális érték kiírása | ||
umax = max(u) %maximális érték kiírása | |||
Eredmény: | Eredmény: | ||
| 473. sor: | 472. sor: | ||
'''Matlab:''' | '''Matlab:''' | ||
num=1 | |||
num=1 | den=[0.64 1.12 1] | ||
den=[0.64 1.12 1] | pk=roots(den) | ||
pk=roots(den) | numk=1; | ||
numk=1; | denk=poly(pk); | ||
denk=poly(pk); | H=tf(numk,denk) | ||
H=tf(numk,denk) | H=zpk(H) | ||
H=zpk(H) | g0=dcgain(H) | ||
g0=dcgain(H) | |||
%Egysegnyi erositest akarunk, ezert normaljuk | |||
Hn=H/g0 | |||
k=acker(A,b,pk) | |||
Tk=ss(A-b*k,b,c,d) | |||
Tk=zpk(Tk) | |||
Javítandó, hiba: | |||
Error using acker (line 38) | |||
Vector P must have SIZE(A) elements | |||
===8. feladat=== | ===8. feladat=== | ||
| 515. sor: | 516. sor: | ||
'''Matlab:''' | '''Matlab:''' | ||
s=zpk('s'); | |||
s=zpk('s'); | Ts=0.1; | ||
Ts=0.1; | Thd=1; %holtidő | ||
Thd=1; %holtidő | z=zpk('z',Ts); | ||
z=zpk('z',Ts); | P=0.5*(s+5)/((s+0.1)*(s*s+1.2*s+1)); | ||
P=0.5*(s+5)/((s+0.1)*(s*s+1.2*s+1)); | |||
Gz=c2d(P,Ts,'zoh') | Gz=c2d(P,Ts,'zoh') | ||
Gz = Gz*z^-Thd; %a holtidő miatt | Gz = Gz*z^-Thd; %a holtidő miatt | ||
[zd,pd,kd]=zpkdata(Gz,'v') | [zd,pd,kd]=zpkdata(Gz,'v') | ||
kc=1 | kc=1 | ||
Cz=kc*((z-exp(-Ts/10))*(z-exp(-Ts/1)))/((z-1)*z) | Cz=kc*((z-exp(-Ts/10))*(z-exp(-Ts/1)))/((z-1)*z) | ||
Lz=Cz*Gz | Lz=Cz*Gz | ||
[mag,phase,w]=bode(Lz); | [mag,phase,w]=bode(Lz); | ||
kc=margin(mag,phase-60,w) | kc=margin(mag,phase-60,w) | ||
Cz=kc*Cz | Cz=kc*Cz | ||
Lz=Cz*Gz; | Lz=Cz*Gz; | ||
Yz=feedback(Lz,1); | Yz=feedback(Lz,1); | ||
Uz=feedback(Cz,Gz); | Uz=feedback(Cz,Gz); | ||
==== b/ ==== | ==== b/ ==== | ||
| 545. sor: | 544. sor: | ||
'''Matlab:''' | '''Matlab:''' | ||
t=0:0.1:0.4; | |||
t=0:0.1:0.4; | |||
figure(1),step(Yz,t) | figure(1),step(Yz,t) | ||
figure(2),step(Uz,t) | figure(2),step(Uz,t) | ||
==== c/ ==== | ==== c/ ==== | ||
| 556. sor: | 553. sor: | ||
'''Matlab:''' | '''Matlab:''' | ||
y_all=dcgain(Yz) | |||
y_all=dcgain(Yz) | u_all=dcgain(Uz) | ||
u_all=dcgain(Uz) | |||
===9. feladat=== | ===9. feladat=== | ||
| 569. sor: | 564. sor: | ||
'''Matlab:''' | '''Matlab:''' | ||
W = 2 / ( 1 + 0.4*s + s^2 ); | |||
W = 2 / ( 1 + 0.4*s + s^2 ); | y = step(W); | ||
y = step(W); | max(y) | ||
max(y) | |||
[gm,pm,wg,wc]=margin(W) | [gm,pm,wg,wc]=margin(W) | ||
beallasi_ido_max=10/wc | beallasi_ido_max=10/wc | ||
beallasi_ido_min=3/wc | beallasi_ido_min=3/wc | ||
Eredmény: | Eredmény: | ||
| 611. sor: | 604. sor: | ||
'''Matlab:''' | '''Matlab:''' | ||
A=[-17 -80 -100; 1 0 0; 0 1 0] | |||
A=[-17 -80 -100; 1 0 0; 0 1 0] | b=[1;0;0] | ||
b=[1;0;0] | c=[0,0,1] | ||
c=[0,0,1] | d=0 | ||
d=0 | |||
a_zart=s^3+60*s^2+1200*s+8000 | a_zart=s^3+60*s^2+1200*s+8000 | ||
%polusok: -20, -20, -20 | %polusok: -20, -20, -20 | ||
k=acker(A,b,[-20 -20 -20]) | k=acker(A,b,[-20 -20 -20]) | ||
Eredmény: | Eredmény: | ||