topics:octave
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
topics:octave [2014/05/11 20:36] – [3D-Plots] ninux | topics:octave [2015/06/17 19:15] – [Data-Entry] anni | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== GNU Octave ====== | ====== GNU Octave ====== | ||
- | GNU Octave ist ein freies Programm für numerisches Rechnen. | + | [[http:// |
+ | |||
===== Plotting ===== | ===== Plotting ===== | ||
Zeile 48: | Zeile 50: | ||
Um einen 3D-Plot zu erzeugen kann die Funktion '' | Um einen 3D-Plot zu erzeugen kann die Funktion '' | ||
+ | <code octave> | ||
+ | x = [0: | ||
+ | a = sin(x); | ||
+ | b = cos(x); | ||
+ | plot3(x, | ||
+ | </ | ||
+ | |||
+ | Für fancy Plots kann man aber auch '' | ||
<code octave> | <code octave> | ||
Zeile 62: | Zeile 72: | ||
===== Packages ===== | ===== Packages ===== | ||
GNU Octave hat ein eigenes Package-System. Mit diesem können neue Packages installiert und geladen werden. | GNU Octave hat ein eigenes Package-System. Mit diesem können neue Packages installiert und geladen werden. | ||
+ | |||
+ | ==== Package installieren ==== | ||
+ | Um ein Package zu installieren kann es entweder manuell heruntergeladen werden etc. oder man greift direkt mit dem Package-Manager von Octave auf die offiziellen Packages von Octave-Forge zu. | ||
+ | |||
+ | <code octave> | ||
+ | pkg install -forge package_name | ||
+ | </ | ||
+ | |||
+ | ==== Package laden ==== | ||
+ | <code octave> | ||
+ | pkg load package_name | ||
+ | </ | ||
==== Empfehlenswerte Packages ==== | ==== Empfehlenswerte Packages ==== | ||
- | * control (Regelungstechnik) | + | * [[http:// |
- | * specfun (Spezielle Funktionen) | + | * [[http:// |
+ | |||
+ | ==== Liste offizieller Packages ==== | ||
+ | [[http:// | ||
===== Regelungstechnik ===== | ===== Regelungstechnik ===== | ||
+ | |||
+ | ==== Control Package installieren ==== | ||
+ | <code control> | ||
+ | pkg install -forge control | ||
+ | </ | ||
==== Package laden ==== | ==== Package laden ==== | ||
Zeile 114: | Zeile 144: | ||
{{bodeplot.png}} | {{bodeplot.png}} | ||
+ | |||
+ | Es können aber auch mehrere Kurven zusammen geplottet werden. | ||
+ | |||
+ | <code octave> | ||
+ | G1 = 1/(1+10*s) | ||
+ | G2 = (1+s)/ | ||
+ | G3 = (1-s)/ | ||
+ | bode(G1, | ||
+ | </ | ||
+ | |||
+ | erzeugt | ||
+ | |||
+ | {{bode-2.png}} | ||
+ | |||
+ | |||
==== Nyquist-Plot erstellen ==== | ==== Nyquist-Plot erstellen ==== | ||
Zeile 123: | Zeile 168: | ||
{{nyquist.png}} | {{nyquist.png}} | ||
+ | |||
+ | Analog zum Bode-Plot können auch hier mehrere Kurven kombiniert werden. | ||
+ | |||
+ | {{nyquist-2.png}} | ||
==== Sprungantwort ==== | ==== Sprungantwort ==== | ||
Zeile 138: | Zeile 187: | ||
<code octave> | <code octave> | ||
print -dsvg myplot.svg | print -dsvg myplot.svg | ||
+ | </ | ||
+ | |||
+ | ==== Diskrete Transferfunktionen ==== | ||
+ | Um diskrete Transferfunktionen zu behandeln, kann ein solches System ähnlich wie ein kontinuierliches System definiert werden, wobei noch ein Parameter folgt für das Abtastintervall (Sampling Time). Der Wert für das Abtastintervall verändert nur die Skalierungen beim Bode-Plot etc. nicht aber deren Verlauf. | ||
+ | |||
+ | <code octave> | ||
+ | N = [1 1 1]; % numerator polynomial | ||
+ | D = [1 1]; % denumerator polynomial | ||
+ | Ts = 1; % sampling time | ||
+ | |||
+ | H = tf([1 1 1], [1 1], Ts); | ||
+ | </ | ||
+ | |||
+ | Der obige Code ergibt die Ausgabe | ||
+ | |||
+ | <code shell> | ||
+ | Transfer function ' | ||
+ | |||
+ | z^2 + z + 1 | ||
+ | | ||
+ | z + 1 | ||
+ | |||
+ | Sampling time: 1 s | ||
+ | Discrete-time model. | ||
</ | </ | ||
---- dataentry topic ---- | ---- dataentry topic ---- | ||
- | type | + | type |
- | advanced_users : | + | advanced_users |
- | beginner_users : daniw, ninux | + | beginner_users |
- | wannabe_users | + | wannabe_users |
+ | category_topictags : software, mathe | ||
---- | ---- | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ |
topics/octave.txt · Zuletzt geändert: 2018/07/06 11:38 von ninux