WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

symbolische Berechnung

 

Derick
Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 21.05.13
Wohnort: HAMBURG
Version: ---
     Beitrag Verfasst am: 26.08.2013, 19:45     Titel: symbolische Berechnung
  Antworten mit Zitat      
hallo liebes Forum,
Ich habe A,B,C,D Matrizen symbolisch berechnet, danach habe ich mit den folgenden Code die Transfert funktion symbolisch berechnet
Code:

syms s

den = poly(Asym)

num = poly(Asym - Bsym*Csym) - den + (Dsym*den)
Hsym = num/den;
pretty(simple(subs(Hsym)))


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.
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 26.08.2013, 22:08     Titel:
  Antworten mit Zitat      
Hallo,

bitte ein reproduzierbares Beispiel dazu.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Derick
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 21.05.13
Wohnort: HAMBURG
Version: ---
     Beitrag Verfasst am: 26.08.2013, 22:28     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 26.08.2013, 22:35     Titel:
  Antworten mit Zitat      
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:
Code:

an den Anfang des Codes.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Derick
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 21.05.13
Wohnort: HAMBURG
Version: ---
     Beitrag Verfasst am: 26.08.2013, 22:48     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.