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
Top Related