Utilizzare sessioni di Octave in TeXmacs |
GNU
http://octave.sf.net
Si dà inizio ad una sessione di
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]
|
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)
|
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]
|
1 0 0 0
-2 2 1 0
1 1 0 0
-4 0 0 -1
octave> |
P=inv(Q)
|
1 -0 0 0
-1 0 1 0
4 1 -2 0
-4 0 0 -1
octave> |
P*A*Q
|
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