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 GaggeroIntroduzione 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
Cos’è Maple
I Mapleè un ambiente software utile per risolvere problemi matematici complessi.
I E’ molto adatto a risolvere problemi in cui sia
richiestocalcolo simbolico.
I Matlabinvece è molto utile per ilcalcolo 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
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
Come si presenta
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
Creazione di variabili
I Come ogni altro linguaggio di programmazione,
Maplepermette di assegnare valori o espressioni formali 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 sonocase sensitive: le
maiuscole sono diverse dalle minuscole.
[> g; [> G;
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
Risultato delle espressioni
I Il carattere chiave per il commento è#.
I Tutto il testo che viene scritto dopo il carattere # non
viene valutato daMaple.
I NormalmenteMaplenon fornisce il risultato
numerico di una espressione.
I E’ possibile valutare le espressioni nel campo dei
floating point con il comandoevalf:
[> 1/sqrt(2);
[> evalf(1/sqrt(2));
I Attenzione al π!
[> evalf(Pi);
I Il risultato dell’operazione precedente si ottiene con
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
Sostituzione di valori
I E’ possibile sostituire valori numerici a una o più
variabili attraverso il comandosubs.
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 con
l’assegnazione, ma così facendo il valore originario dell’espressione andrebbe perso.
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
Funzioni
I Si possono definire le proprie funzioni attraverso la
sintassi 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);
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
Funzioni composte
I Si possono definire funzioni composte attraverso
l’operatore@. I Esempi: [> g:=x->cos(x); [> f:=x->exp(x); [> h:=f@g; [> h(x); [> (sin@cos)(x);
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
Funzioni di libreria
I Esistono moltissime funzioni predefinite:
sin cos exp sqrt
I Altre funzioni molto utili:
simplify expand combine collect
I Esistono moltissime altre funzioni predefinite.
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
Librerie e pacchetti
I Maplepossiede un numero enorme di funzioni predefinite, la maggior parte delle quali contenuta in
pacchettiolibrerie.
I La sintassi per includere un pacchetto è la seguente:
with(nomePacchetto)
I Ogni pacchetto copre un ramo di matematica, come
l’algebra lineare, la statistica, la teoria dei numeri, ecc.
I Le funzioni all’interno di ogni pacchetto devono
essere caricate conwithprima di essere usate:
[> with(linalg);
I Alcuni pacchetti comprendono funzioni in cui nome è
uguale a funzioni diMaplegià esistenti. Le funzioni
precedenti non sono più accessibili.
I Si può caricare solo una funzione da un pacchetto:
[> with(linalg,inverse);
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
Matrici e vettori
I Matrici e vettori si possono creare usando il
comandoarray.
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 il
comandomatrixcontenuto nel pacchettolinalg.
I Esempi:
[> M:=matrix(2,2,[1,2,3,4]); [> A:=matrix(3,3,(i,j)->i*x+j*y);
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
Operazioni su matrici
I Le principali operazioni effettuabili su matrici e vettori
sono le seguenti:
I somme e differenze di vettori di uguale dimensione
con gli operatori+e-;
I moltiplicazione di un vettore per un numero con il
comandoevalm;
I prodotto scalare di due vettori e prodotto righe per
colonne con l’operatore&*;
I prodotto vettoriale tra due vettori con il comando
crossprodcontenuto nel pacchettolinalg.
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 espressione
contenente matrici si usa il comandoevalm:
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
Sequenze, liste e insiemi
I Lesequenzesono sequenze di espressioni separate da virgole. Una sequenza può essere restituita da
alcune funzioni (solve) oppure costruita attraverso
l’operatore$.
[> ’a(i)’ $ ’i’=1..5; [> $ 3..6;
I Unalistaè una sequenza ordinata di oggetti
racchiusa tra parentesi quadre. Lo stesso elemento può comparire più di una volta.
[> L:=[a,7,sin(x)]; [> nops(L);
[> op(1,L); [> L[1];
I Uninsiemeè una sequenza non ordinata di oggetti racchiusi tra parentesi graffe. Ogni elemento può apparire solo una volta.
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
Grafici
I Maplepossiede una libreria grafica molto potente:
plot plot3d animate
I La sintassi per disegnare un grafico di una funzione
di una variabile è la seguente:
plot(funzione,dominio,opzioni)
I Esempi:
[> f:=x->x∧2+1;
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
Grafici
I Si possono fare grafici di funzioni in coordinate
polari, 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 pacchettoplotssi hanno molte
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
Derivate
I Maplepermette di calcolare analiticamente l’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); #Lettera
maiuscola: solo simbolo
[> diff(x∧2+y∧2,x); #derivata parziale [> subs(x=3,diff(g(x),x));
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
Derivate
I Maplefornisce un operatore astratto di
differenziazione per definire mapping di derivate.
I L’operatoreDsi applica a espressioni che
rappresentano funzioni e restituisce la loro derivata sotto forma di funzione.
I Esempi:
[> f:=x->sin(x);
[> D(f); #derivata prima
[> (D@@2)(f); #derivata seconda
I L’operatoreDpermette di valutare la derivata di una
funzione in un punto in modo diretto:
[> D(f)(0); [> (D@@2)(f)(0);
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
Integrali e sommatorie
I Maplepuò integrare un ampio insieme di funzioni, e può anche valutare integrali definiti, utilizzando metodi numerici se non può essere ottenuto un risultato analitico.
I Integrale indefinito (Maplenon aggiunge la costante
di 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);
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
Risoluzione di equazioni
I Mapleè in grado di risolvere molti tipi di equazioni matematiche:
I una equazione in una singola incognita; I sistemi di equazioni lineari o non lineari; I equazioni differenziali ordinarie;
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
Equazioni algebriche
I Mapleè in grado di risolvere equazioni algebriche
mediante il comandosolve.
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 non
esistono forme esplicite per le soluzioni. Si può
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
Equazioni differenziali ordinarie
I Mapleè in grado di risolvere equazioni differenziali
ordinarie mediante il comandodsolve.
I La sintassi è la seguente:
dsolve(equazione,funzione)
I Supponiamo di dover risolvere la seguente
equazione differenziale: d2f dx2 + 4 f (x) = sin(x) ; f (0) = 0 , df dx x=0 = 0
I Scriviamo l’equazione inMaple:
[> eq:= diff(f(x),x,x)+4*f(x)=sin(x);
I Risolviamo l’equazione conMaple:
[> dsolve(eq,f(x));
f(x) = sin(2x) _C2 + cos(2x) _C1 +1 3sin(x)
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
Condizioni iniziali
I Imponendo le condizioni iniziali possiamo
determinare 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 equazioni
algebriche 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 Mapleci fornisce il seguente risultato:
costanti := {_C2 = −1
6,_C1 = 0}
I La soluzione particolare quindi si ottiene con
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
Condizioni iniziali
I In alternativa, potevamo dire aMapledi risolvere
l’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) = −1
6sin(2x) + 1 3sin(x)
I La funzioneodetestpermette di controllare se la