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

Automatisch faktorisieren

 

Andreas1305
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 11.06.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.06.2013, 11:19     Titel: Automatisch faktorisieren
  Antworten mit Zitat      
Hallo,

Ich habe eine große Übertragungsfunktion, die ich um rechenzeit zu sparen, einmal faktorisiern möchte. Da sie mehrere hundert mal benutzt wird. Ich habe leider noch nichts dazu gefunden was diesen Schritt automatisiert.

H =
(C1*C3*L2*L4*RLast*s^4)/(RLast + L4*s + C1*L1*L4*s^3 + C1*L2*L4*s^3 + C2*L2*L4*s^3 + C3*L2*L4*s^3 + C3*L3*L4*s^3 + C1*L1*RLast*s^2 + C1*L2*RLast*s^2 + C2*L2*RLast*s^2 + C3*L2*RLast*s^2 + C3*L3*RLast*s^2 + C3*L4*RLast*s^2 + C4*L4*RLast*s^2 + C1*C2*L1*L2*L4*s^5 + C1*C3*L1*L2*L4*s^5 + C1*C3*L1*L3*L4*s^5 + C1*C3*L2*L3*L4*s^5 + C2*C3*L2*L3*L4*s^5 + C1*C2*L1*L2*RLast*s^4 + C1*C3*L1*L2*RLast*s^4 + C1*C3*L1*L3*RLast*s^4 + C1*C3*L1*L4*RLast*s^4 + C1*C3*L2*L3*RLast*s^4 + C1*C3*L2*L4*RLast*s^4 + C1*C4*L1*L4*RLast*s^4 + C2*C3*L2*L3*RLast*s^4 + C1*C4*L2*L4*RLast*s^4 + C2*C3*L2*L4*RLast*s^4 + C2*C4*L2*L4*RLast*s^4 + C3*C4*L2*L4*RLast*s^4 + C3*C4*L3*L4*RLast*s^4 + C1*C2*C3*L1*L2*L3*L4*s^7 + C1*C2*C3*L1*L2*L3*RLast*s^6 + C1*C2*C3*L1*L2*L4*RLast*s^6 + C1*C2*C4*L1*L2*L4*RLast*s^6 + C1*C3*C4*L1*L2*L4*RLast*s^6 + C1*C3*C4*L1*L3*L4*RLast*s^6 + C1*C3*C4*L2*L3*L4*RLast*s^6 + C2*C3*C4*L2*L3*L4*RLast*s^6 + C1*C2*C3*C4*L1*L2*L3*L4*RLast*s^8 )

Die Übertragungsfunktion wird mir durch eine function wie oben dargestellt symbolisch berechnet, wobei ich sie im folgenden Schritt dann numerisch lösen möchte indem die Bauteilwerte eingesetzt werden.

H =
A*s^4
-----------------------------------------------------------------------------------------------
B*s^8 + C*s^7 + D*s^6 + E*s^5 + F*s^4 + G*^3 + H*s^2 + J*s + K

So sollte es aussehen damit ich nur noch meine Werte für
s = ( 1i*frequenzvektor) einsetzten muss und somit schneller lösen kann.

Gibt es die Möglichkeit in Matlab diesen Schritt zu automatisieren oder müsste ich hier von Hand faktoriesieren?

Vielen Dank
Private Nachricht senden Benutzer-Profile anzeigen


RiFLoK
Forum-Anfänger

Forum-Anfänger


Beiträge: 36
Anmeldedatum: 26.06.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.06.2013, 12:57     Titel:
  Antworten mit Zitat      
Hi

Wenn du einfach die Übertragungsfunktion einmal berechnest kannst du mit den Befehlen

H.num{1} bzw.
H.den{1}

die Koeffizienten des Zähler und Nennerpolynoms erhalten.

LG, T
Private Nachricht senden Benutzer-Profile anzeigen
 
Andreas1305
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 11.06.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.06.2013, 15:20     Titel:
  Antworten mit Zitat      
Danke für die schnelle Hilfe, aber ich glaube ich hab mich vlt falsch ausgedrückt.

Ich habe die Übertragungsfunktion symbolisch,
setzte dann die Bauteilwerte ein und möchte dann so weit wie
möglich vorfaktorisieren um Zeit bei der eigentlichen Rechnung zu sparen.
Im moment hab ich das von Hand gemacht bei dieser Schaltung und bin um den Faktor 8 schneller als zuvor. Würde es aber gerne auf eine noch
komplexere Schaltungen anwenden und daher gerne automatisieren.
Private Nachricht senden Benutzer-Profile anzeigen
 
RiFLoK
Forum-Anfänger

Forum-Anfänger


Beiträge: 36
Anmeldedatum: 26.06.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.06.2013, 15:26     Titel:
  Antworten mit Zitat      
Hallo Andi.

Was meinst du mit vorfaktorisieren??
Wenn du die Bauteilwerte einsetzt bekommst du die gesamte Übertragungsfunktion.

T
Private Nachricht senden Benutzer-Profile anzeigen
 
Andreas1305
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 11.06.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.06.2013, 16:09     Titel:
  Antworten mit Zitat      
Ja das stimmt, nur setzt ich dann meinen Frequenzvektor [1x13000] ein mit dem ich die Frequenzwerte ausrechne.
Das ist dann auch die Stelle wo er die meiste Zeit benötigt.
Private Nachricht senden Benutzer-Profile anzeigen
 
RiFLoK
Forum-Anfänger

Forum-Anfänger


Beiträge: 36
Anmeldedatum: 26.06.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.06.2013, 17:32     Titel:
  Antworten mit Zitat      
wenn H deine Übertragungsfunktion ist.

Dann kannst du mit [mag, phase] = bode(H, {wmin, wmax}) dir das Bodediagramm ansehen.

Sieh dir den befehl freqresp auch noch an. Vll hilft dir dieser weiter.

lg, Tobi
Private Nachricht senden Benutzer-Profile anzeigen
 
RiFLoK
Forum-Anfänger

Forum-Anfänger


Beiträge: 36
Anmeldedatum: 26.06.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.06.2013, 18:09     Titel:
  Antworten mit Zitat      
Um mit den Funktionen bode bzw. freqresp arbeiten zu können musst du vor der Berechnung der Übertragungsfunktion noch sagen, dass "s" deine frequenzvariable ist. Das machst du mit

Code:

s = tf('s');
 


lg, T
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.