• Non ci sono risultati.

Introduction to Maple (in Italian)

N/A
N/A
Protected

Academic year: 2021

Condividi "Introduction to Maple (in Italian)"

Copied!
23
0
0

Testo completo

(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

Introduzione a Maple

Mauro Gaggero

(2)

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

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

(3)

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

(4)

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;

(5)

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

(6)

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.

(7)

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);

(8)

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);

(9)

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.

(10)

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);

(11)

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);

(12)

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:

(13)

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.

(14)

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;

(15)

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

(16)

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));

(17)

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);

(18)

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);

(19)

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;

(20)

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ò

(21)

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)

(22)

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

(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

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

Riferimenti

Documenti correlati

Annual estimates of winter Cormorant population in England and Wales, for inland

La vita vera e l’essere autentico sono deposti alle origini della corporeità, e più precisamente con la consapevolezza che altro non siamo che corpo, e dunque

Bivariant correlations (Pearson’s) were calculated for monthly fascioliasis prevalence rates (%) of both humans and livestock (sheep, goats, cattle and buf- faloes), versus the

Solitary fibrous tumor (SFT) of the pleura usually presents as a peripheral mass, in contact with the surface of the pleura.. However, on occasion, it can occur separately from

 la dimensione deve essere una espressione costante, formata cioè solo da costanti assolute o simboliche, e indica il numero massimo di elementi che il

Una matrice A ∈ M n,m si può anche vedere come un “insieme” di:. • n m-uple (una per

Esercizi per casa: Esercizio 5 e seconda parte dell’esercizio 1 degli ”Esercizi 5”. 12/11/19 Sottospazi generati da insiemi

(n)cc modifica ( n ) caratteri sulla linea fino alla fine della linea (o fino a quando viene digitato il tasto escape). cw modifica i caratteri di una parola fino alla fine