"Gz = cont2dis_to_list([G.num[0][0],G.den[0][0]],Ts,method='impulse')#!!!!liefert anderes Ergebnis als Matlab-Funktion!!!!Unterschied um den Faktor 10z\n",
"Gsz = cont2dis_to_list([Gs.num[0][0],Gs.den[0][0]],Ts,method='impulse')#!!!!liefert anderes Ergebnis als Matlab-Funktion!!!!Unterschied um den Faktor 10z\n",
- Wir stellen drei Verfahren vor, wie in Matlab die Transformation von kontinuierlichen Systemen zu diskreten Systemen erfolgen kann.
- Dabei wird die Matlabfunktion<code>c2d</code> verwendet
- Gegeben sei das System:
$G(s)=\frac{1}{s+1}$ und $T_s=0,1$
%% Cell type:code id: tags:
``` octave
pkg load control
```
``` python
Ts=0.1
s=control.TransferFunction.s
z=control.TransferFunction.z
print('Abtastzeit: '+str(Ts)+"\n")
%% Cell type:code id: tags:
``` octave
disp('Abtastzeit')
Ts = 0.1
G=(1)/(s+1)
print('Kontinuierliches System:\n')
print(G)
print("-----------------------------\n")
disp('Kontinuierliche Systeme')
G = tf(1,[1 1])
print('Beispiel 1: ZOH\n')
Gh=cont2dis_to_list([G.num[0][0],G.den[0][0]],Ts,method='zoh')#liefert selbes Ergebnis wie die Matlab-Funktion
Gh=control.TransferFunction(Gh[0],Gh[1],Ts)
print(Gh)
print("-----------------------------\n")
disp('Beispiel 1: ZOH')
Gh = c2d(G,Ts,'zoh')
disp('Beispiel 2: Impulse')
Gz = c2d(G,Ts,'impulse')
print('Beispiel 2: Impulse\n')
Gz=cont2dis_to_list([G.num[0][0],G.den[0][0]],Ts,method='impulse')#!!!!liefert anderes Ergebnis als Matlab-Funktion!!!!Unterschied um den Faktor 10z
Gz=control.TransferFunction(Gz[0],Gz[1],Ts)
print(Gz)
print("-----------------------------\n")
disp('Bespiel 3: Verfahren G(s)/s')
Gi = tf([1],[1 0])
print('Bespiel 3: Verfahren G(s)/s')
print("\nGi:")
Gi=(1)/(s)
print(Gi)
print("Gs = G*Gi:")
Gs=G*Gi
Gsz = c2d(Gs,Ts,'impulse')
Gh = tf([1 -1], [1 0],Ts)
Gf = Gh*Gsz/Ts;
minreal(Gf)
```
print(Gs)
print("Gsz:")
Gsz=cont2dis_to_list([Gs.num[0][0],Gs.den[0][0]],Ts,method='impulse')#!!!!liefert anderes Ergebnis als Matlab-Funktion!!!!Unterschied um den Faktor 10z