Data la sua origine, Maxima è un programma che interagisce prevalentemente attraverso un terminale a caratteri; tuttavia, sono disponibili versioni grafiche che consentono la visualizzazione delle formule elaborate in una forma più graziosa dal punto di vista estetico. Per esempio, wxMaxima è un interfaccia frontale per Maxima, in grado di aggiungere questo miglioramento grafico.
Le potenzialità di Maxima sono enormi. In questo capitolo si fanno solo dei cenni relativi a problemi molto semplici. Va osservato che Maxima può fare anche molto altro, in particolare nel capitolo è omessa completamente la gestione dei vettori e delle matrici.
Installazione.
L'installazione di Maxima non dovrebbe dare problemi nei sistemi operativi più comuni, dal momento che sono disponibili pacchetti precompilati per una vasta gamma di ambienti. Tuttavia va osservato che Maxima richiede la presenza di Gnuplot per produrre dei grafici, installato in modo corretto, o comunque «standard». Eventualmente, se non si riesce a ottenere un grafico con le funzioni che invece dovrebbero produrlo, occorre concentrarsi nell'installazione corretta di Gnuplot.Avvio e interazione normale con il programma.
Maxima si avvia normalmente attraverso il file-eseguibile maxima, senza indicare opzioni particolari:maxima [opzioni]
|
(%i1)
x^2+sqrt(x);
[Invio] 2
(%o1) x + sqrt(x)
|
(%o1) |
Continuando con altri inserimenti, l'invito di Maxima incrementa il suo numero progressivo:
(%i2)
sqrt(x^3+x^2);
[Invio](%o2) |
(%i3)
factor(%o2);
[Invio](%o3) |
(%i4)
%o3 + sqrt(x^4);
[Invio](%o4) |
(%i5)
quit();
[Invio]Gestione degli oggetti di Maxima.
Ogni volta che si inserisce qualcosa nella riga di comando di Maxima, si produce un nuovo oggetto, con il risultato dell'inserimento stesso. Il riferimento a tali oggetti avviene con una sigla del tipo %on, dove n è il numero dell'oggetto. In alternativa, è possibile dare un nome ulteriore all'oggetto, specificandolo all'inizio dell'inserimento:[nome_oggetto:] comando |
(%i1)
espressione_1: x^4+x^3+x^2;
[Invio](%o1) x4 + x3 + x2 |
(%i2)
espressione_1 + x;
[Invio](%o2) x4 + x3 + x2 + x |
kill (nome_oggetto[, nome_oggetto]...) |
kill (all) |
Gli oggetti da eliminare vanno identificati con la sigla generica %on o per nome, se gli è stato associato un nome. Tuttavia, le due cose sono indipendenti. Per esempio, se con il nome nome_3 è stato identificato l'oggetto corrispondente alla sigla %o3, il fatto di eliminare nome_3 non si propaga all'oggetto dal punto di vista della sigla %o3 e lo stesso viceversa.
(%i3)
kill (%o1, %o2);
[Invio](%o3) done |
(%i4)
espressione_1;
[Invio](%o4) x4 + x3 + x2 |
(%i5)
kill (espressione_1);
[Invio](%o5) done |
(%i6)
quit();
[Invio]Funzioni.
Maxima consente di definire espressamente delle funzioni, utilizzando l'operatore :=. Le funzioni possono essere disegnate, con l'ausilio di un programma esterno, costituito di norma da Gnuplot. L'esempio seguente crea la funzione f(x) e la visualizza, nell'intervallo che va da -π e +π:(%i1)
f(x) := x^3;
[Invio](%o1) f(x) := x3 |
(%i2)
plot2d (f, [x, -%pi, %pi]);
[Invio]Si possono creare funzioni di funzioni; in altri termini, la creazione di una funzione si può avvalere di funzioni già definite. Negli esempi seguenti si crea una funzione g(x), composta utilizzando la già definita f(x). Al termine, vengono disegnate le due funzioni.
(%i3)
g(x) := f(sin(x));
[Invio](%o3) g(x) := f(sin(x)) |
(%i4)
plot2d ([f,g], [x, -%pi, %pi], [y, -2, 2]);
[Invio](%i5)
h(x,y) := x**2 * y**3;
[Invio](%o5) h(x,y) := x2 y3 |
(%i6)
plot3d (h, [x, -%pi, %pi], [y, -%pi, %pi]);
[Invio](%i7)
k(x) := block ([], if (x < 0) then return (-(-x)^0.5) else
\\
return (x^0.5));
[Invio](%o7) k(x) := block ([], if x < 0 then return (-(-x)0.5) else return (x0.5)) |
(%i8)
plot2d (k, [x, -1, 1]);
[Invio](%i9)
j(x) := block([], if (x < 0) then return (x*1.25) else
\\
(if (x >= 0 and x < 2) then return (0) else
\\
return (x*3-6)));
[Invio](%o9) j(x) := block ([], if x < 0 then return (x·1.25) else if x>=0 and x<2 then return (0) else return (x·3-6)) |
(%i10)
plot2d (j, [x, -1, 3]);
[Invio]Screenshots.

Se ti è piaciuto l'articolo , iscriviti al feed cliccando sull'immagine sottostante per tenerti sempre aggiornato sui nuovi contenuti del blog:

Nessun commento:
Posta un commento
Non inserire link cliccabili altrimenti il commento verrà eliminato. Metti la spunta a Inviami notifiche per essere avvertito via email di nuovi commenti.