Benutzer-Werkzeuge

Webseiten-Werkzeuge


topics:octave

Dies ist eine alte Version des Dokuments!


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.

Empfehlenswerte Packages

  • control (Regelungstechnik)
  • specfun (Spezielle Funktionen)

Regelungstechnik

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

Nyquist-Plot erstellen

nyquist(G)

erzeugt

Sprungantwort

step(G)

erzeugt

Plot exportieren/speichern

GNU Octave hat verschiedene Toolkits für Grafiken. Diese bieten jeweils verschiedene Möglichkeiten fürs exportieren. Die folgenden Beispiele behandeln das Toolkit GNUPlot.

print -dsvg myplot.svg
type:
topic
beginner:
daniw, ninux
topics/octave.1399841057.txt.gz · Zuletzt geändert: 2014/05/11 20:44 von ninux

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki