Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
GNU Octave
GNU Octave ist ein freies Programm für numerisches Rechnen.
Plotting
GNU Octave hat zwei typische Grafik-Toolkits; fltk und GNUplot.
Um zu sehen welches aktiv ist kann einfach
graphics_toolkit
eingegeben werden.
Um das Toolkit zu wechseln kann einfach
graphics_toolkit("gnuplot")
eingegeben werden.
2D-Plots
Um einen 2D-Plot zu machen kann die Funktion plot()
verwendet werden.
x = [0:0.1:2*pi]; a = sin(x); plot(x,a)
erzeugt
Um mehrere Kurven übereinander zu legen kann hold on
und hold off
verwendet werden.
x = x = [0:0.1:2*pi]; a = sin(x); b = cos(x); hold on plot(x,a) plot(x,b) hold off
erzeugt
3D-Plots
Um einen 3D-Plot zu erzeugen kann die Funktion plot3()
benutzt werden.
x = [0:0.001:2*pi]; a = sin(x); b = cos(x); plot3(x,a,b);
Für fancy Plots kann man aber auch mesh()
benutzen.
tx = ty = linspace (-8, 8, 41)'; [xx, yy] = meshgrid (tx, ty); r = sqrt (xx .^ 2 + yy .^ 2) + eps; tz = sin (r) ./ r; mesh (tx, ty, tz);
erzeugt
Packages
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.
pkg install -forge package_name
Package laden
pkg load package_name
Empfehlenswerte Packages
Liste offizieller Packages
Regelungstechnik
Control Package installieren
pkg install -forge control
Package laden
pkg load control
s definieren als Variable des Laplace-Bereichs
s = tf('s')
erzeugt
Transfer function 's' from input 'u1' to output ... y1: s Continuous-time model.
Übertragungsfunktion definieren
G = 1/(1+s)
erzeugt
Transfer function 'G' from input 'u1' to output ... 1 y1: ----- s + 1 Continuous-time model.
Bode-Plot erstellen (Amplituden- & Phasegang)
bode(G)
erzeugt
Es können aber auch mehrere Kurven zusammen geplottet werden.
G1 = 1/(1+10*s) G2 = (1+s)/(1+10*s) G3 = (1-s)/(1+10*s) bode(G1,G2,G3)
erzeugt