|
Derick |

Forum-Anfänger
|
 |
Beiträge: 21
|
 |
|
 |
Anmeldedatum: 21.05.13
|
 |
|
 |
Wohnort: HAMBURG
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 26.08.2013, 19:45
Titel: symbolische Berechnung
|
 |
hallo liebes Forum,
Ich habe A,B,C,D Matrizen symbolisch berechnet, danach habe ich mit den folgenden Code die Transfert funktion symbolisch berechnet
als Ergebins bekomme ich :
C1 R1 x + 1
----------------------
2
C1 L1 x + C1 R1 x + 1
ich möchte aber das 'x' durch 's' ersetzen
ich hatte folgendes probiert : subs(num/den,x,s)
bekomme aber eine Fehlermeldung dass 'x' nicht definiert ist.
Gibt eine Möglichkeit das 'x' durch 's' zu ersetzen ?
Vielen dank im voraus.
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 26.08.2013, 22:08
Titel:
|
 |
Hallo,
bitte ein reproduzierbares Beispiel dazu.
Grüße,
Harald
|
|
|
Derick |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 21
|
 |
|
 |
Anmeldedatum: 21.05.13
|
 |
|
 |
Wohnort: HAMBURG
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 26.08.2013, 22:28
Titel:
|
 |
Hi,
ich habe folgende A, B,C,D Matrizen symbolisch:
A = [-R1/L1, -1/L1 ; 1/C1, 0];
B = [1/L1, 0]
C = [R1, 1]
D = 0
Ich möchte von diesen Zustandsraummatrizen die Transfert function symbolisch erhalten. In der Matlab Hilfe für ss2tf steht folgende Formel :
H(s)= B(s)/A(s) = C(sI-A)^(-1)*B + D;
wobei C(sI-A)^(-1)*B = (det(sI-A+BC)- det(sI-A))/det(sI - A)
H(s)= (det(sI-A+BC)- det(sI-A))/det(sI - A) + D
Somit kann die den und num von meiner Transfer function symbolisch berechnen.
sym s
den = poly(Asym)
num = poly(Asym - Bsym*Csym) - den + (Dsym*den)
Hsym = num/den;
pretty(simple((Hsym))
Ich bekomme diese symbolische Transfert function :
C1 R1 x + 1
----------------------
2
C1 L1 x + C1 R1 x + 1
ich möchte aber die x durch s ersetzen .
Vielen Dank
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 26.08.2013, 22:35
Titel:
|
 |
Hallo,
poste doch bitte ein komplett reproduzierbares Beispiel, das Hsym liefert.
Ich kenne mich zwar ganz gut mit symbolischen Variablen aus, aber kaum mit Signalverarbeitung. Das würde es für mich deutlich einfacher machen, und ich muss mir keine Gedanken machen, ob es einen Unterschied zwischen A und Asym gibt und wenn ja welchen.
Was ich als erstes versuchen würde:
an den Anfang des Codes.
Grüße,
Harald
|
|
|
Derick |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 21
|
 |
|
 |
Anmeldedatum: 21.05.13
|
 |
|
 |
Wohnort: HAMBURG
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 26.08.2013, 22:48
Titel:
|
 |
Hallo harald,
sorry sorry das war ein fehler von mir.
Asym = [-R1/L1, -1/L1 ; 1/C1, 0];
Bsym = [1/L1, 0]
Csym = [R1, 1]
Dsym= 0
Ich hab die Lösung gefunden
Also von den, sollte man die Transfert function symbolisch erhalten.
Ich habe einfach so gemacht und klappt es.
den = poly(Asym)
Den = subs(den,'x','s')
num = poly(Asym - Bsym*Csym) - den + (Dsym*den)
Num = subs(num,'x','s');
Hsym = Num/Den;
pretty(simple(Hsym))
Als Ergebnis bekomme :
Hsym =
C1 R1 s + 1
----------------------
2
C1 L1 s + C1 R1 s + 1
Vielen Dank trotzdem
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|