Forum: Mikrocontroller und Digitale Elektronik MATLAB-Alternative für Bode-Diagramme


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Walther E. (tomete)


Bewertung
0 lesenswert
nicht lesenswert
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.

von Al3ko -. (al3ko)


Bewertung
-1 lesenswert
nicht lesenswert
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.

von Flo (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Scilab

von Helmut S. (helmuts)


Bewertung
2 lesenswert
nicht lesenswert
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
von Ansgar K. (malefiz)


Bewertung
0 lesenswert
nicht lesenswert

von Helmut S. (helmuts)


Angehängte Dateien:

Bewertung
2 lesenswert
nicht lesenswert
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
von Walther E. (tomete)


Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für die vielen Antworten. Ich habe jetzt das Ergebnis von 
Octave genommen.

von Christopher J. (christopher_j23)


Bewertung
0 lesenswert
nicht lesenswert
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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.