Utilizzare sessioni di Octave in TeXmacs

GNU Octave è un clone libero di Matlab, che può essere scaricato da

    http://octave.sf.net

Si dà inizio ad una sessione di Octave utilizzando Testo→Sessione→Octave. Qui di seguito viene mostrato come svolgere delle operazioni di algebra lineare con Octave, come la moltiplicazione tra matrici, l'inversione e la diagonalizzazione. Si noti che è necessario (per il momento) utilizzare il comando tmdisp per visualizzare l'output in formato matematico.

GNU Octave, version 2.1.40 (i386-redhat-linux-gnu).

Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002 John W. Eaton.

This is free software; see the source code for copying conditions.

There is ABSOLUTELY NO WARRANTY; not even for MERCHANTIBILITY or

FITNESS FOR A PARTICULAR PURPOSE.

Report bugs to <bug-octave@bevo.che.wisc.edu>.

octave>

A=[1 0 0 0;2 2 0 0;-1 0 2 0;0 -1 2 2]

A =

1 0 0 0

2 2 0 0

-1 0 2 0

0 -1 2 2

octave>

tmdisp(A^2)

(
1 0 0 0
6 4 0 0
- 3 0 4 0
- 4 - 4 8 4
)
octave>

tmdisp(A.^2)

(
1 0 0 0
4 4 0 0
1 0 4 0
0 1 4 4
)
octave>

[u,v]=eig(A)

u =

0.00000 0.00000 0.00000 0.21320

0.00000 0.00000 0.00000 -0.42640

0.00000 0.00000 0.00000 0.21320

1.00000 1.00000 -1.00000 -0.85280

v =

2 0 0 0

0 2 0 0

0 0 2 0

0 0 0 1

octave>

Q=[1 0 0 0;-2 2 1 0;1 1 0 0;-4 0 0 -1]

Q =

1 0 0 0

-2 2 1 0

1 1 0 0

-4 0 0 -1

octave>

P=inv(Q)

P =

1 -0 0 0

-1 0 1 0

4 1 -2 0

-4 0 0 -1

octave>

P*A*Q

ans =

1 0 0 0

0 2 0 0

0 0 2 0

0 0 1 2

octave>

La seconda parte mostra le capacità grafiche di Octave, grafici 2D e 3D. I grafici 2D possono essere inseriti automaticamente nel proprio foglio di lavoro, ma ciò non è possibile per i grafici 3D.

octave>

x=linspace(-10,10,1000);

octave>

y=x+sin(x);

octave>

plot(x,y,";Function y=x+sin(x);");

octave>

x0=[2;5;10];

octave>

t = linspace (0,10,800);

octave>

function dx = butter (x ,t) dx(1) = -10.0*(x(1)-x(2)); dx(2) = 28.0*x(1)-x(2)-x(1)*x(3); dx(3) = 8.0/3.0*( x(1)*x(2) -x(3) ); end;

octave>

y=lsode("butter",x0,t);

octave>

gset parametric;

octave>

gset set term postscript enhanced color eps;

octave>

gset xtics 10;gset ytics 10; gset ztics 10;

octave>

gset out "/tmp/butterfly.eps";

octave>

gsplot y title "Butterfly Effect"

octave>

Per poter inserire un grafico 3D, per esempio il grafico generato in questa sessione, innanzitutto lo salviamo come butterfly.eps nella directory /tmp. A questo punto, possiamo inserire questo file EPS nel foglio di lavoro usando Inserisci→Immagine.

Figura 1. Grafico 3D generato da Octave.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".