Anda di halaman 1dari 4

10 minute (wx)Maxima tutorial

Benvenuti in wxMaxima! In questo tutorial introduttivo sipi di calcolo! Qui sotto trovi una cella di input con una semplice somma. Posizionare il cursore in esso e premete SHIFT-INVIO per valutarla. (%i1) 1 + 1;

(%o1) 2 Se non hai ottenuto alcun errore istruzioni su come impostare wxMaxima e Maxima correttamente! Assumendo che abbiate risolto i problemi, facciamo ancora un po di calcoli (ancora una volta - posizionare il cursore nella cella di input qui sotto e premete SHIFT-INVIO per valutare il codice)! (%i2) 5!; % * %o1 1 / 1.0

10; * 100; 3; / 3.0;

(%o2) 120 (%o3) 1200 (%o4) 200 1 (%o5) 3 (%o6) 0.33333333333333 Nella cella di input qui sopra, abbiamo inserito 5 linee di Maxima. ogni linea deve terminare con un ; o un $. Nel caso in cui la linea termina con un ;, Maxima mostrto della linea, mentre i risultati delle linee che terminano con $ saranno soppressi. Il $ calcoli. Si noti inoltre che il risultato di 1 / 3 e di 1.0/3.0 dieriscono. Questo perchMaxima, a dierenza dei pacchetti di matrice numerica (Matlab, ecc), cerca di mantenere calcoli precisi. Perci non vengono valutate espressioni come 1 / 3 o sqrt (2) a meno che non sia richiesto. In 1.0/3.0 abbiamo usato numeri in virgola mobile, in modo da Maxima valuti l espressione. Possiamo, tuttavia, dire a Maxima che vogliamo un approssimazione in virgola mobile di unespressione. Valutare la cella sotto e osservare i risultati. (%i7) sqrt(2 * %pi); float(%); 2 (%o7) 1

(%o8) 2.506628274631001 Nella linea oat(%); abbiamo usato il simbolo %. Questo simbolo rapppresenta sempre il risultato dellultima riga valutata. I simboli nnumerati %o1, o2%, ... contengono i risultati come appaiono quando le celle di input sono valutate. Possiamo anche memorizzare, non solo numeri, ma pure intere espressioni, nelle variabili. Usare la forma variabiile nome: valore; per memorizzare valore in variabile nome. Valutare la cella sotto e osservare. (%i9) radius: 10 $ height: 100 $ area: %pi * radius^2; volume: area * height;

(%o11) 100 (%o12) 10000 Valutiamo lultimo risultato numericamente: (%i13) float(%); (%o13) 31415.92653589793 Finora abbiamo usato solo Maxima come una semplice calcolatrice. Ora proviamo alcune cose non possibili con una semplice calcolatrice. Calcoliamo un integrale indeterminato e uno determinato: (%i14) integrate( sin(x), x); integrate( sin(x), x, 0, %pi); (%o14) cos (x) (%o15) 2 Deniamo una funzione, la valutiamo e la integriamo: (%i16) f(x) := x^2 + a$ f(5); f(5), a = -5; integrate( f(var), var ); (%o17) a + 25 (%o18) 20 (%o19) var3 + a var 3 A volte Maxima ha bisogno di informazioni supplementari per valutare lespressione perc necessario rispondere a una domanda. Scrivere la risposta sotto la richiesta

e inviarla a Maxima con SHIFT-INVIO. Nota: invece di rispondere con positpossibile abbreviaare digitando p. Di seguito un integrale con una domanda: (%i20) integrate( 1 / (x^2 + a), x); Isapositiveornegative? Possiamo anche informare Maxima in anticipo tramite la funzione assume. Per far dimenticare lassunzione usare forget. (Nota: per ricevere aiuto su qualsiasi fun suciente fare clic sul nome della funzione e premere il tasto F1. Prova.) --> assume(a > 0)$ integrate( 1 / (x^2 + a), x); forget(a > 0)$

Ora che hai imparato le basi su una funzione specica, fai clic su di essa e premere F1. Risolvere equazioni utilizzando listruzione solve: --> solve(a*x^2 + b*x + c = 0, x);

Algebra lineare. Utilizzare listruzione matrix per creare matrici. Le matrici possono contenere espressioni numeri o simboli. Usare il comando invert per calcolare linversa e . per la moltiplicazione di matrici. --> A: matrix([1,-1], [1,sin(c)]); B: invert(A); A.B; ratsimp(A.B); Nellultima riga abbiamo usato ratsimp per semplicare il risultato di A.B. Maxima ha diverse funzioni di semplicazione a seconda del tipo di espressine che si vuole ridurre. La semplicazio scela migliore. E ora, graci in 2D e 3D! --> wxplot2d([sin(x), cos(x)], [x,0, 2*%pi]); wxplot3d( exp(-x^2 - y^2), [x,-2,2],[y,-2,2]);

Ora proviamo a derivare utilizzando la funzione di.

-->

f(x) := x^2 $ diff(f(x), x); g(y) := sin(y)$ g(f(x)); diff( g(f(x)) , x);

Maxima conosce la regola della catena! Per nire risolviamo una equazione dierenziale ordinaria: y(t) + omega^2 * y(t) = 0 --> assume(omega > 0); ode2( diff(y, t, 2) + omega^2 * y = 0, y, t ); ic2(%, t = 0, y = amp, diff(y,t) = 0 ); Ora puoi iniziare a esplorare (wx)Maxima da solo. Ricorda di usare spesso F1 se vuoi che maxima ti aiuti a risolvere problemi di matematica. Divertiti utilizzando di Maxima e wxMaxima!