10 minute (wx)maxima tutorial

Upload: verbicar

Post on 17-Oct-2015

40 views

Category:

Documents


0 download

DESCRIPTION

maxima

TRANSCRIPT

  • 10 minute (wx)Maxima tu-torialBenvenuti in wxMaxima! In questo tutorial introduttivo sipi di calcolo! Quisotto trovi una cella di input con una semplice somma. Posizionare il cursorein esso e premete SHIFT-INVIO per valutarla.

    (%i1) 1 + 1;

    (%o1) 2

    Se non hai ottenuto alcun errore istruzioni su come impostare wxMaxima eMaxima 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 premeteSHIFT-INVIO per valutare il codice)!

    (%i2) 5!;

    % * 10;

    %o1 * 100;

    1 / 3;

    1.0 / 3.0;

    (%o2) 120

    (%o3) 1200

    (%o4) 200

    (%o5)1

    3

    (%o6) 0.33333333333333

    Nella cella di input qui sopra, abbiamo inserito 5 linee di Maxima. ogni lineadeve 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 / 3e di 1.0/3.0 differiscono. Questo perchMaxima, a differenza dei pacchetti dimatrice numerica (Matlab, ecc), cerca di mantenere calcoli precisi. Perci nonvengono 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 valutil espressione.

    Possiamo, tuttavia, dire a Maxima che vogliamo un approssimazione in virgolamobile di unespressione. Valutare la cella sotto e osservare i risultati.

    (%i7) sqrt(2 * %pi);

    float(%);

    (%o7)

    2pi

    1

  • (%o8) 2.506628274631001

    Nella linea float(%); abbiamo usato il simbolo %. Questo simbolo rapppre-senta sempre il risultato dellultima riga valutata. I simboli nnumerati %o1,o2%, ... contengono i risultati come appaiono quando le celle di input sonovalutate. Possiamo anche memorizzare, non solo numeri, ma pure intere espres-sioni, nelle variabili. Usare la forma variabiile nome: valore; per memorizzarevalore in variabile nome. Valutare la cella sotto e osservare.

    (%i9) radius: 10 $

    height: 100 $

    area: %pi * radius^2;

    volume: area * height;

    (%o11) 100pi

    (%o12) 10000pi

    Valutiamo lultimo risultato numericamente:

    (%i13) float(%);

    (%o13) 31415.92653589793

    Finora abbiamo usato solo Maxima come una semplice calcolatrice. Ora provi-amo alcune cose non possibili con una semplice calcolatrice. Calcoliamo unintegrale indeterminato e uno determinato:

    (%i14) integrate( sin(x), x);

    integrate( sin(x), x, 0, %pi);

    (%o14) cos (x)(%o15) 2

    Definiamo 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

    3+ a var

    A volte Maxima ha bisogno di informazioni supplementari per valutare lespressioneperc necessario rispondere a una domanda. Scrivere la risposta sotto la richiesta

    2

  • e inviarla a Maxima con SHIFT-INVIO. Nota: invece di rispondere con posit-possibile 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 suqualsiasi fun sufficiente 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 specifica, fai clic su di essa epremere F1.

    Risolvere equazioni utilizzando listruzione solve:

    --> solve(a*x^2 + b*x + c = 0, x);

    Algebra lineare. Utilizzare listruzione matrix per creare matrici. Le matricipossono contenere espressioni numeri o simboli. Usare il comando invert percalcolare 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 semplificare il risultato di A.B.Maxima ha diverse funzioni di semplificazione a seconda del tipo di espressineche si vuole ridurre. La semplificazio scela migliore.

    E ora, grafici 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 diff.

    3

  • --> 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 finire risolviamo una equazione differenziale 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 F1se vuoi che maxima ti aiuti a risolvere problemi di matematica.

    Divertiti utilizzando di Maxima e wxMaxima!

    4