Maple Cos’è Maple Comandi principali Sostituzione Funzioni ... · Introduzione a Maple Cos’è...

23
Introduzione a Maple Cos’è Maple Comandi principali Sostituzione Funzioni Librerie e pacchetti Matrici e vettori Sequenze, liste e insiemi Grafici Derivate Integrali e sommatorie Risoluzione di equazioni Equazioni algebriche Equazioni differenziali Introduzione a Maple Mauro Gaggero Mauro Gaggero 1 / 23

Transcript of Maple Cos’è Maple Comandi principali Sostituzione Funzioni ... · Introduzione a Maple Cos’è...

Introduzione aMaple

Cos’è Maple

Comandi principali

Sostituzione

Funzioni

Librerie e pacchetti

Matrici e vettori

Sequenze, liste einsiemi

Grafici

Derivate

Integrali esommatorie

Risoluzione diequazioniEquazioni algebriche

Equazioni differenziali

Introduzione a Maple

Mauro Gaggero

Mauro Gaggero 1 / 23

Introduzione aMaple

Cos’è Maple

Comandi principali

Sostituzione

Funzioni

Librerie e pacchetti

Matrici e vettori

Sequenze, liste einsiemi

Grafici

Derivate

Integrali esommatorie

Risoluzione diequazioniEquazioni algebriche

Equazioni differenziali

Cos’è Maple

I Maple è un ambiente software utile per risolvereproblemi matematici complessi.

I E’ molto adatto a risolvere problemi in cui siarichiesto calcolo simbolico.

I Matlab invece è molto utile per il calcolo numerico.I Molte informazioni utili possono essere reperite su:

I sito ufficiale del produttore: www.maplesoft.com;I help in linea: help <nomefunzione> al prompt dei

comandi.

Mauro Gaggero 2 / 23

Introduzione aMaple

Cos’è Maple

Comandi principali

Sostituzione

Funzioni

Librerie e pacchetti

Matrici e vettori

Sequenze, liste einsiemi

Grafici

Derivate

Integrali esommatorie

Risoluzione diequazioniEquazioni algebriche

Equazioni differenziali

Come si presenta

Mauro Gaggero 3 / 23

Introduzione aMaple

Cos’è Maple

Comandi principali

Sostituzione

Funzioni

Librerie e pacchetti

Matrici e vettori

Sequenze, liste einsiemi

Grafici

Derivate

Integrali esommatorie

Risoluzione diequazioniEquazioni algebriche

Equazioni differenziali

Creazione di variabili

I Come ogni altro linguaggio di programmazione,Maple permette di assegnare valori o espressioniformali a una variabile.

I La sintassi da utilizzare è la seguente:nomeVariabile:=espressione

I Esempi:[> a:=3;[> b:=3/2;[> b:=3/2+a;[> c:=3/2+5;[> c:=3/2+5.1;[> f:= x∧2 + 1;

I I nomi delle variabili sono case sensitive: lemaiuscole sono diverse dalle minuscole.

[> g;[> G;

I Comando di reinizializzazione: restart.Mauro Gaggero 4 / 23

Introduzione aMaple

Cos’è Maple

Comandi principali

Sostituzione

Funzioni

Librerie e pacchetti

Matrici e vettori

Sequenze, liste einsiemi

Grafici

Derivate

Integrali esommatorie

Risoluzione diequazioniEquazioni algebriche

Equazioni differenziali

Risultato delle espressioni

I Il carattere chiave per il commento è #.I Tutto il testo che viene scritto dopo il carattere # non

viene valutato da Maple.I Normalmente Maple non fornisce il risultato

numerico di una espressione.I E’ possibile valutare le espressioni nel campo dei

floating point con il comando evalf:[> 1/sqrt(2);[> evalf(1/sqrt(2));

I Attenzione al π![> evalf(Pi);

I Il risultato dell’operazione precedente si ottiene con%.

Mauro Gaggero 5 / 23

Introduzione aMaple

Cos’è Maple

Comandi principali

Sostituzione

Funzioni

Librerie e pacchetti

Matrici e vettori

Sequenze, liste einsiemi

Grafici

Derivate

Integrali esommatorie

Risoluzione diequazioniEquazioni algebriche

Equazioni differenziali

Sostituzione di valori

I E’ possibile sostituire valori numerici a una o piùvariabili attraverso il comando subs.

I La sintassi è la seguente:subs(x1=...,x2=...,espressione)

I Esempi:[> g:= x∧2+1;[> subs(x=3,g);[> g;[> h:=subs(x=y+3,g);[> expand(h);[> condizione:= {x=3,y=sin(t)};[> subs(condizione,x∧2+y);

I Gli stessi risultati si potrebbero ottenere conl’assegnazione, ma così facendo il valore originariodell’espressione andrebbe perso.

Mauro Gaggero 6 / 23

Introduzione aMaple

Cos’è Maple

Comandi principali

Sostituzione

Funzioni

Librerie e pacchetti

Matrici e vettori

Sequenze, liste einsiemi

Grafici

Derivate

Integrali esommatorie

Risoluzione diequazioniEquazioni algebriche

Equazioni differenziali

Funzioni

I Si possono definire le proprie funzioni attraverso lasintassi seguente:

nomeFunzione:=x->espressione

I Nel caso di funzioni di più variabili si deve usare:nomeFunzione:=(x,y)->espressione

I Esempi:[> f:=x->2*x+1;[> f(x);[> f(23);[> g:=(x,y)->2*x+y;[> g(x,y);[> g(2,67);

Mauro Gaggero 7 / 23

Introduzione aMaple

Cos’è Maple

Comandi principali

Sostituzione

Funzioni

Librerie e pacchetti

Matrici e vettori

Sequenze, liste einsiemi

Grafici

Derivate

Integrali esommatorie

Risoluzione diequazioniEquazioni algebriche

Equazioni differenziali

Funzioni composte

I Si possono definire funzioni composte attraversol’operatore @.

I Esempi:[> g:=x->cos(x);[> f:=x->exp(x);[> h:=f@g;[> h(x);[> (sin@cos)(x);

Mauro Gaggero 8 / 23

Introduzione aMaple

Cos’è Maple

Comandi principali

Sostituzione

Funzioni

Librerie e pacchetti

Matrici e vettori

Sequenze, liste einsiemi

Grafici

Derivate

Integrali esommatorie

Risoluzione diequazioniEquazioni algebriche

Equazioni differenziali

Funzioni di libreria

I Esistono moltissime funzioni predefinite:sincosexpsqrt

I Altre funzioni molto utili:simplifyexpandcombinecollect

I Esistono moltissime altre funzioni predefinite.Consultare l’help in linea per un elenco completo.

Mauro Gaggero 9 / 23

Introduzione aMaple

Cos’è Maple

Comandi principali

Sostituzione

Funzioni

Librerie e pacchetti

Matrici e vettori

Sequenze, liste einsiemi

Grafici

Derivate

Integrali esommatorie

Risoluzione diequazioniEquazioni algebriche

Equazioni differenziali

Librerie e pacchetti

I Maple possiede un numero enorme di funzionipredefinite, la maggior parte delle quali contenuta inpacchetti o librerie.

I La sintassi per includere un pacchetto è la seguente:with(nomePacchetto)

I Ogni pacchetto copre un ramo di matematica, comel’algebra lineare, la statistica, la teoria dei numeri,ecc.

I Le funzioni all’interno di ogni pacchetto devonoessere caricate con with prima di essere usate:

[> with(linalg);I Alcuni pacchetti comprendono funzioni in cui nome è

uguale a funzioni di Maple già esistenti. Le funzioniprecedenti non sono più accessibili.

I Si può caricare solo una funzione da un pacchetto:[> with(linalg,inverse);[> linalg[inverse](parametri);

Mauro Gaggero 10 / 23

Introduzione aMaple

Cos’è Maple

Comandi principali

Sostituzione

Funzioni

Librerie e pacchetti

Matrici e vettori

Sequenze, liste einsiemi

Grafici

Derivate

Integrali esommatorie

Risoluzione diequazioniEquazioni algebriche

Equazioni differenziali

Matrici e vettori

I Matrici e vettori si possono creare usando ilcomando array.

I Esempi:[> A:=array(1..2,1..2);[> A[1,1]:=x; A[1,2]:=y; A[2,1]:=z;A[2,2]:=t;[> v:=array(1..2);[> C:=array(1..2,1..2,[[1,2],[3,4]]);

I Le matrici possono essere create anche mediante ilcomando matrix contenuto nel pacchetto linalg.

I Esempi:[> M:=matrix(2,2,[1,2,3,4]);[> A:=matrix(3,3,(i,j)->i*x+j*y);

Mauro Gaggero 11 / 23

Introduzione aMaple

Cos’è Maple

Comandi principali

Sostituzione

Funzioni

Librerie e pacchetti

Matrici e vettori

Sequenze, liste einsiemi

Grafici

Derivate

Integrali esommatorie

Risoluzione diequazioniEquazioni algebriche

Equazioni differenziali

Operazioni su matrici

I Le principali operazioni effettuabili su matrici e vettorisono le seguenti:

I somme e differenze di vettori di uguale dimensionecon gli operatori + e -;

I moltiplicazione di un vettore per un numero con ilcomando evalm;

I prodotto scalare di due vettori e prodotto righe percolonne con l’operatore &*;

I prodotto vettoriale tra due vettori con il comandocrossprod contenuto nel pacchetto linalg.

I Esempi:[> a:=array(1..2,[1,2]);[> b:=array(1..2,[3,4]);[> prod:=C&*b;[> prodScal:=a&*b;[> prodVett:=crossprod(a,b);

I Per avere il valore numerico di una espressionecontenente matrici si usa il comando evalm:

[> prod:=evalm(C&*b);Mauro Gaggero 12 / 23

Introduzione aMaple

Cos’è Maple

Comandi principali

Sostituzione

Funzioni

Librerie e pacchetti

Matrici e vettori

Sequenze, liste einsiemi

Grafici

Derivate

Integrali esommatorie

Risoluzione diequazioniEquazioni algebriche

Equazioni differenziali

Sequenze, liste e insiemi

I Le sequenze sono sequenze di espressioni separateda virgole. Una sequenza può essere restituita daalcune funzioni (solve) oppure costruita attraversol’operatore $.

[> ’a(i)’ $ ’i’=1..5;[> $ 3..6;

I Una lista è una sequenza ordinata di oggettiracchiusa tra parentesi quadre. Lo stesso elementopuò comparire più di una volta.

[> L:=[a,7,sin(x)];[> nops(L);[> op(1,L);[> L[1];

I Un insieme è una sequenza non ordinata di oggettiracchiusi tra parentesi graffe. Ogni elemento puòapparire solo una volta.

[> I:={f,3,cos(x)};[> I[2];

Mauro Gaggero 13 / 23

Introduzione aMaple

Cos’è Maple

Comandi principali

Sostituzione

Funzioni

Librerie e pacchetti

Matrici e vettori

Sequenze, liste einsiemi

Grafici

Derivate

Integrali esommatorie

Risoluzione diequazioniEquazioni algebriche

Equazioni differenziali

Grafici

I Maple possiede una libreria grafica molto potente:plotplot3danimate

I La sintassi per disegnare un grafico di una funzionedi una variabile è la seguente:

plot(funzione,dominio,opzioni)I Esempi:

[> f:=x->x∧2+1;[> plot(f(x),x=0..2,labels=[’x’,’f’]);

Mauro Gaggero 14 / 23

Introduzione aMaple

Cos’è Maple

Comandi principali

Sostituzione

Funzioni

Librerie e pacchetti

Matrici e vettori

Sequenze, liste einsiemi

Grafici

Derivate

Integrali esommatorie

Risoluzione diequazioniEquazioni algebriche

Equazioni differenziali

Grafici

I Si possono fare grafici di funzioni in coordinatepolari, sferiche, ecc.

I Un esempio di grafico tridimensionale:[> plot3d(y*sin(x),x=0..2*Pi,y=0..4,title=’titolo’,axes=BOXED);

I Includendo il pacchetto plots si hanno moltefunzioni in più, tra cui:

polarplotimplicitplot

Mauro Gaggero 15 / 23

Introduzione aMaple

Cos’è Maple

Comandi principali

Sostituzione

Funzioni

Librerie e pacchetti

Matrici e vettori

Sequenze, liste einsiemi

Grafici

Derivate

Integrali esommatorie

Risoluzione diequazioniEquazioni algebriche

Equazioni differenziali

Derivate

I Maple permette di calcolare analiticamentel’espressione delle derivate di una funzione.

I La sintassi è la seguente:diff(funzione,x1,x2,...)

I Esempi:[> g:=x->x+sin(x);[> diff(g(x),x); #derivata prima[> diff(g(x),x,x); #derivata seconda[> diff(g(x),x$5); #derivata quinta[> Diff(x∧2+y∧2,x); #Letteramaiuscola: solo simbolo[> diff(x∧2+y∧2,x); #derivata parziale[> subs(x=3,diff(g(x),x));

Mauro Gaggero 16 / 23

Introduzione aMaple

Cos’è Maple

Comandi principali

Sostituzione

Funzioni

Librerie e pacchetti

Matrici e vettori

Sequenze, liste einsiemi

Grafici

Derivate

Integrali esommatorie

Risoluzione diequazioniEquazioni algebriche

Equazioni differenziali

Derivate

I Maple fornisce un operatore astratto didifferenziazione per definire mapping di derivate.

I L’operatore D si applica a espressioni cherappresentano funzioni e restituisce la loro derivatasotto forma di funzione.

I Esempi:[> f:=x->sin(x);[> D(f); #derivata prima[> (D@@2)(f); #derivata seconda

I L’operatore D permette di valutare la derivata di unafunzione in un punto in modo diretto:

[> D(f)(0);[> (D@@2)(f)(0);

Mauro Gaggero 17 / 23

Introduzione aMaple

Cos’è Maple

Comandi principali

Sostituzione

Funzioni

Librerie e pacchetti

Matrici e vettori

Sequenze, liste einsiemi

Grafici

Derivate

Integrali esommatorie

Risoluzione diequazioniEquazioni algebriche

Equazioni differenziali

Integrali e sommatorie

I Maple può integrare un ampio insieme di funzioni, epuò anche valutare integrali definiti, utilizzandometodi numerici se non può essere ottenuto unrisultato analitico.

I Integrale indefinito (Maple non aggiunge la costantedi integrazione):

int(funzione,x)

[> int(x∧3+cos(x),x);I Integrale definito:

int(funzione,x=a..b)

[> int(x∧2,x=-1..1);I Sommatorie:

sum(funzione,n=a..b)

[> sum(a[k]*sin(k*x),k=0..7);[> sum(a[k]*sin(k*x),k=0..infinity);

Mauro Gaggero 18 / 23

Introduzione aMaple

Cos’è Maple

Comandi principali

Sostituzione

Funzioni

Librerie e pacchetti

Matrici e vettori

Sequenze, liste einsiemi

Grafici

Derivate

Integrali esommatorie

Risoluzione diequazioniEquazioni algebriche

Equazioni differenziali

Risoluzione di equazioni

I Maple è in grado di risolvere molti tipi di equazionimatematiche:

I una equazione in una singola incognita;I sistemi di equazioni lineari o non lineari;I equazioni differenziali ordinarie;I sistemi di equazioni differenziali ordinarie.

Mauro Gaggero 19 / 23

Introduzione aMaple

Cos’è Maple

Comandi principali

Sostituzione

Funzioni

Librerie e pacchetti

Matrici e vettori

Sequenze, liste einsiemi

Grafici

Derivate

Integrali esommatorie

Risoluzione diequazioniEquazioni algebriche

Equazioni differenziali

Equazioni algebriche

I Maple è in grado di risolvere equazioni algebrichemediante il comando solve.

I La sintassi è la seguente:solve(equazione,incognita)

I Esempio:[> s:=solve(a*x∧2+3*x+1,x);

1

2

−3+√9− 4a

a, −1

2

3+√9− 4a

a

[> subs(a=3,s[1]);

I Per equazioni di grado superiore al terzo nonesistono forme esplicite per le soluzioni. Si puòcalcolare una soluzione numerica con fsolve.

Mauro Gaggero 20 / 23

Introduzione aMaple

Cos’è Maple

Comandi principali

Sostituzione

Funzioni

Librerie e pacchetti

Matrici e vettori

Sequenze, liste einsiemi

Grafici

Derivate

Integrali esommatorie

Risoluzione diequazioniEquazioni algebriche

Equazioni differenziali

Equazioni differenziali ordinarie

I Maple è in grado di risolvere equazioni differenzialiordinarie mediante il comando dsolve.

I La sintassi è la seguente:dsolve(equazione,funzione)

I Supponiamo di dover risolvere la seguenteequazione differenziale:

d2f

dx2+ 4 f(x) = sin(x) ; f(0) = 0 ,

df

dx

∣∣∣∣x=0

= 0

I Scriviamo l’equazione in Maple:[> eq:= diff(f(x),x,x)+4*f(x)=sin(x);

I Risolviamo l’equazione con Maple:[> dsolve(eq,f(x));

f(x) = sin(2x) _C2+ cos(2x) _C1+1

3sin(x)

[> soluzione:=rhs(%); #Right Hand Side

Mauro Gaggero 21 / 23

Introduzione aMaple

Cos’è Maple

Comandi principali

Sostituzione

Funzioni

Librerie e pacchetti

Matrici e vettori

Sequenze, liste einsiemi

Grafici

Derivate

Integrali esommatorie

Risoluzione diequazioniEquazioni algebriche

Equazioni differenziali

Condizioni iniziali

I Imponendo le condizioni iniziali possiamodeterminare il valore delle costanti _C1 e _C2.

[> f1:=subs(x=0,soluzione);[> f2:=subs(x=0,diff(soluzione,x));[> condIni:={f1=0,f2=0};

I Dobbiamo risolvere un sistema di equazionialgebriche nelle incognite _C1 e _C2.

I Soluzione equazione e sistemi:solve({eq1,eq2,...},{x1,x2,...})

I In questo caso dobbiamo scrivere:[> costanti:=solve(condIni,{_C1,_C2});

I Maple ci fornisce il seguente risultato:

costanti := {_C2 = −16,_C1 = 0}

I La soluzione particolare quindi si ottiene con[> F:=x->subs(costanti, soluzione);

Mauro Gaggero 22 / 23

Introduzione aMaple

Cos’è Maple

Comandi principali

Sostituzione

Funzioni

Librerie e pacchetti

Matrici e vettori

Sequenze, liste einsiemi

Grafici

Derivate

Integrali esommatorie

Risoluzione diequazioniEquazioni algebriche

Equazioni differenziali

Condizioni iniziali

I In alternativa, potevamo dire a Maple di risolverel’equazione con le condizioni iniziali.

I La sintassi è la seguente:dsolve({equazione,condIniz},funzione)

I Nell’esempio precedente dovevamo scrivere[> condIni:=f(0)=0,(D(f))(0)=0;[> dsolve({eq,condIni},f(x));

I Avremmo ottenuto il seguente risultato:

f(x) = −16sin(2x) +

1

3sin(x)

I La funzione odetest permette di controllare se lasoluzione calcolata è esatta.

Mauro Gaggero 23 / 23