Guten Abend. gibt es ein ähnliches Programm wie MATLAB, bei dem man eine Übertragungsfunktion eingeben kann, zu der dieses das Bode-Diagramm zeichnet? Ich kann zwar theoretisch von der Uni aus eine Version lizensieren lassen, aber das bringt irgendwie nur Probleme mit sich, sobald ich meine Version aktivieren will. Die sagen praktisch, dass ich meinen Registrierungscode im Programm abrufen soll, dass ich runterladen will, um es runterladen zu dürfen (Tolle Logik) Type 'license' at the MATLAB prompt to get your license number or get an activation key from your MATLAB administrator. Allerdings brauche ich das Diagramm bis Montag. Da ich allerdings nur ungern ne Lizenz von etwas kaufen will, dass ich eventuell früher oder später doch von der Uni kriege wüsste ich gerne, ob es ne Alternative gibt. Die Übertragungsfunktion ist: 3,65 ------------------------- (s+1)(2s+1)(4s+1)(13s+1) falls jemand in der Lage ist ein wirklich genaues Diagramm einfach Frei-Hand zu konstruieren.
Walther E. schrieb: > falls jemand in der Lage ist ein wirklich genaues Diagramm einfach > Frei-Hand zu konstruieren. python kann das. "python bode plot" in Google führt zum Ergebnis. Ansonsten kann ich dir das ggf morgen mit Matlab potten.
Flo schrieb: > Scilab Ich werfe mal Octave ein. Octave ist von der Syntax her nahe an der von Matlab. Sculab hat eine deutlich andere Syntax. Vordefinierte Konstanten beginnen mit %. Beispiel: u = 2*%pi*r Ich finde das äußerst unpraktisch, weil damit die Lesbarkeit von Formeln schlechter wird. Vor allem muss man dann anderen jedes mal erklären, dass das nicht Prozent bedeutet.
:
Bearbeitet durch User
Hier mal eine Möglichkeit mit Octave. In der 1. Zeile wird die "control" toolbox geladen. >> pkg load control >> p1=[1 1];p2=[2 1];p3=[4 1];p4=[13 1]; >> P=conv(p1,p2); >> P=conv(P,p3); >> P=conv(P,p4); >> F=tf([3.65],P) Transfer function 'F' from input 'u1' to output ... 3.65 y1: -------------------------------------- 104 s^4 + 190 s^3 + 105 s^2 + 20 s + 1 Continuous-time model. >> bode(F); Falls man nur die Werte habene will: [mag, pha, w] = bode(F); Statt der Mehrfachverwendung von conv() gibt es vermutlich eine elegantere Methode die Gesamtfunktion zu definieren.
:
Bearbeitet durch User
Vielen Dank für die vielen Antworten. Ich habe jetzt das Ergebnis von Octave genommen.
Auch wenn Octave bereits die Lösung war: https://github.com/python-control/python-control https://github.com/JuliaControl/ControlSystems.jl Beide Lösungen sind kostenlos und sowohl Python (mit Numpy, Scipy, etc.) als auch Julia können es in Sachen Funktionalität und Geschwindigkeit locker mit Matlab aufnehmen. Da Julia sehr viel von der Syntax von Matlab geerbt hat ist das für Umsteiger wahrscheinlich etwas einfacher zu erlernen als Python/Numpy.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.