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

[Anfänger] Übertragungsfkt. faktorisiert eingeben

 

domi3121
Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 27.04.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.04.2017, 16:56     Titel: [Anfänger] Übertragungsfkt. faktorisiert eingeben
  Antworten mit Zitat      
Hallo,
bin mit MatLab noch nicht wirklich vertraut.
Meine Frage:

Ist es möglich eine Übertragungsfunktion in faktorisierter Schreibweise einzugeben? Oder muss ich meine Übertragungsfunktion erst ausmultiplizieren und dann wie gewohnt eingeben?
z.B:

Gs(s)= 1/[(1+0.1s)(1+0.5s)(1+2s)]

Jedes mal, wenn ich den Kollegen so eingebe, meckert mir MatLab rum, dass "s" nicht definiert sei (was natürlich Sinn macht Wink).

Wie könnte ich in so einem Fall "s" als Parameter definieren? Geht das überhaupt?

Danke!
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 27.04.2017, 17:17     Titel:
  Antworten mit Zitat      
Hallo,

das Problem dürfte die fehlende Definition von s sein und nicht, ob die Eingabe faktorisiert ist oder nicht. Bei Multiplikation solltest du aber schon * schreiben.

Folgendes ginge (benötigt Symbolic Math Toolbox):
Code:
syms s
Gs(s)= 1/((1+0.1*s)*(1+0.5*s)*(1+2*s))


Ob dir das weiterhilft, hängt allerdings sehr davon ab, was du damit nun machen willst.

Als Anfänger könnte dir das MATLAB Onramp eine große Hilfe bei der Einarbeitung sein:
[/code]https://matlabacademy.mathworks.com/

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

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 27.04.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.04.2017, 17:22     Titel:
  Antworten mit Zitat      
Sobald ich die Übertragungsfunktion dann drinnen hätte, ginge es mir darum, Bode-Diagramm, Sprungantwort & Impulsantwort plotten zu lassen.

Mit der ausmultiplizierten Schreibweise bekomme ich das auch alles hin, ist allerdings sehr mühsam...

Danke!
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 27.04.2017, 21:07     Titel:
  Antworten mit Zitat      
Hallo,

vielleicht geht's einfacher, aber so geht es zumindest:

Code:
syms s
Gs(s)= 1/((1+0.1*s)*(1+0.5*s)*(1+2*s));
[num, den] = numden(Gs);
num = sym2poly(num);
den = sym2poly(den);
transFun = tf(num, den)


Zitat:
Mit der ausmultiplizierten Schreibweise bekomme ich das auch alles hin

Grundsätzlich ist es hilfreich, wenn du schreibst, wie du Dinge hinbekommst. Dann kann man dir leichter bei der Anpassung davon helfen. So kann ich nur vermuten, dass du mit tf-Objekten arbeitest.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Erano1
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 59
Anmeldedatum: 26.04.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.04.2017, 22:12     Titel:
  Antworten mit Zitat      
Hallo,

du kannst s so defnieren, dass es als Laplacevariable erkannt wird:
Code:


Anschließend kannst du deine Übertragungsfunktion schreiben, z.B. einfaches PT1-Glied:
Code:
Gs=1/(s+1)


Damit kannst du mit bode(Gs), step(Gs), impulse(Gs) usw. z.B. das Bodediagramm oder die Sprungantwort plotten.

Was man sonst so mit dem tf-Befehl machen kann kannst du dir ja mal im Help-Browser ansehen Smile Genauso wie generell Controlsystem Toolbox, zu der die Funktionen gehören.

mfg Erano1
Private Nachricht senden Benutzer-Profile anzeigen
 
domi3121
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 27.04.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.04.2017, 22:14     Titel:
  Antworten mit Zitat      
Will ich mir das Bode-Diagramm von z.B. folgender Funktion (hier ausmultipliziert) plotten lassen, gehe ich wie folgt vor:


G(s) = (s+2)/(s^2+2*s+1)


z=[1 2];
n=[1 2 1];
Gs=tf(z,n);

bode(g1);
grid on;

--> tada, mein Bodediagramm erscheint.


Jetzt kommt es allerdings des öfteren vor, dass wir im Studium mit der faktorisierten Schreibweise zu tun bekommen. Das ausmultiplizieren kostet allerdings relativ viel Zeit, je nachdem was um welchen Grad es sich handelt. Und das ist einfach mühsam...


Die paar Zeilen die du mir geschrieben hast sind aufjedenfall schon mal eine richtige Hilfe!
D.h. zur Not werde ich jetzt einfach so vorgehen, dass ich mir die Fkt. so ausmultiplizieren lassen werde (oder mit dem TR Wink).


Allerdings suche ich noch nach einer Möglichkeit, die Fkt. in dieser faktorisierten Schreibweise mit dem Parameter "s" in die cmd-line einzugeben und mir das dann als Bode-Plot ausgeben zu lassen.
Private Nachricht senden Benutzer-Profile anzeigen
 
domi3121
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 27.04.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.04.2017, 22:17     Titel:
  Antworten mit Zitat      
Achherje...
Jetzt bin ich drauf gekommen...
Die Fkt. ist ja im transFun hinterlegt.

bode(transFun);

--> Here we go!

Vielen Dank und noch nen schönen Abend!
Private Nachricht senden Benutzer-Profile anzeigen
 
domi3121
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 27.04.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.04.2017, 22:21     Titel:
  Antworten mit Zitat      
Die Antwort von dir @Erano1 hab ich leider vorhin überlesen. Trotzdem danke für deine Hilfe!!
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 27.04.2017, 22:58     Titel:
  Antworten mit Zitat      
Hallo erano1,

deine Variante ist da definitiv die schönere :)

Grüße,
Harald
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.