|
|
Automatisch faktorisieren |
|
Andreas1305 |

Forum-Newbie
|
 |
Beiträge: 3
|
 |
|
 |
Anmeldedatum: 11.06.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 24.06.2013, 11:19
Titel: Automatisch faktorisieren
|
 |
|
 |
|
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
|
|
|
|
|
RiFLoK |

Forum-Anfänger
|
 |
Beiträge: 36
|
 |
|
 |
Anmeldedatum: 26.06.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 24.06.2013, 12:57
Titel:
|
 |
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
|
|
|
Andreas1305 |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 3
|
 |
|
 |
Anmeldedatum: 11.06.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 24.06.2013, 15:20
Titel:
|
 |
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.
|
|
|
RiFLoK |

Forum-Anfänger
|
 |
Beiträge: 36
|
 |
|
 |
Anmeldedatum: 26.06.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 24.06.2013, 15:26
Titel:
|
 |
Hallo Andi.
Was meinst du mit vorfaktorisieren??
Wenn du die Bauteilwerte einsetzt bekommst du die gesamte Übertragungsfunktion.
T
|
|
|
Andreas1305 |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 3
|
 |
|
 |
Anmeldedatum: 11.06.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 24.06.2013, 16:09
Titel:
|
 |
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.
|
|
|
RiFLoK |

Forum-Anfänger
|
 |
Beiträge: 36
|
 |
|
 |
Anmeldedatum: 26.06.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 24.06.2013, 17:32
Titel:
|
 |
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
|
|
|
RiFLoK |

Forum-Anfänger
|
 |
Beiträge: 36
|
 |
|
 |
Anmeldedatum: 26.06.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 24.06.2013, 18:09
Titel:
|
 |
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
lg, T
|
|
|
|
|
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.
|
|