Numerical methods - DISMA Dipartimento di falletta/Numerical_Methods/LucidiMat...G. Monegato, Elementi…

  • View
    212

  • Download
    0

Embed Size (px)

Transcript

Introduzione a Matlab Scalari in Matlab Vettori in Matlab Matrici in Matlab Istruzioni di controllo e istruzioni condizionali Operatori logici Funzioni simboliche

Numerical methods

Silvia Falletta

Dip. Matematica - Politecnico di Torino

Libri di testo:

G. Monegato, Elementi (Fondamenti) di Calcolo Numerico, Levrotto e Bella,Torino, 1995.

L. Scuderi, Laboratorio di calcolo numerico. Esercizi di calcolo numerico risolticon MATLAB. ed. CLUT, Torino 2005.

Info e materiale didattico:http://calvino.polito.it/falletta/teaching

Introduzione a Matlab Scalari in Matlab Vettori in Matlab Matrici in Matlab Istruzioni di controllo e istruzioni condizionali Operatori logici Funzioni simboliche

Introduzione a Matlab

Alcune informazioni su Matlab

Matlab uno strumento per il calcolo scientico utilizzabile api livelli

calcolatrice tascabilesimulazione e analisi di sistemi complessilinguaggio di programmazione

Il nome Matlab una abbreviazione di Matrix-Laboratory:

la struttura di base la matrice: ogni quantit (variabile) vienetrattata come una matriceuno scalare reale una matrice 1 1

Introduzione a Matlab Scalari in Matlab Vettori in Matlab Matrici in Matlab Istruzioni di controllo e istruzioni condizionali Operatori logici Funzioni simboliche

In Matlab non necessario dichiarare esplicitamente all'inizio

del lavoro una variabile in termini delle sue dimensioni e del

tipo dei suoi coecienti (interi, reali, complessi)

! notevole semplicazione gi predenito un ampio insieme di matrici elementari

(matrice identit, matrice nulla...)

! matrici pi complesse possono essere costruite rapidamentepartendo da queste matrici fondamentali

sono predeniti vari operatori algebrici fra matrici di uso

comune, quali ad esempio somma, prodotto, elevamento a

potenza, nonch il calcolo del determinante o del rango di una

matrice;

sono predenite numerose funzioni primitive di uso generale,

dette built-in functions. Esse permettono di risolvereproblemi complessi, ad esempio il calcolo degli autovettori ed

autovalori di una matrice, la risoluzione eciente di sistemi

lineari, oppure la ricerca degli zeri di una funzione.

Introduzione a Matlab Scalari in Matlab Vettori in Matlab Matrici in Matlab Istruzioni di controllo e istruzioni condizionali Operatori logici Funzioni simboliche

Le raccolte di funzioni dedicate ad uno specico argomento

vengono dette toolboxes. La nanza, la statistica, l'analisi deisegnali e delle immagini sono alcuni dei campi a cui sono dedicati

dei toolboxes di Matlab

Dove trovare ulteriori informazioni su Matlab?

sul sito uciale di Matlab www.mathworks.com sonodisponibili numerosi manuali (in inglese) sia introduttivi che

dedicati pi approfonditamente ad aspetti specici

(programmazione, graca, toolboxes...)

sui siti di numerose universit sono riportati tutorial ed esempi

di problemi studiati con l'uso di Matlab

Matlab un software a pagamento. Esistono softwares gratuiti,

Octave - Scilab, che ne riproducono buona parte delle funzioni

fondamentali (con minime dierenze di sintassi e una graca un po'

pi povera). www.octave.org, www.scilab.org.

Introduzione a Matlab Scalari in Matlab Vettori in Matlab Matrici in Matlab Istruzioni di controllo e istruzioni condizionali Operatori logici Funzioni simboliche

Per iniziare...

All'avvio di Matlab appare il prompt , ovvero la linea da cuidigitare le istruzioni nello spazio di lavoro.

Il comando demo mostra degli esempi signicativi di possibiliapplicazioni del software. Il comando doc introduce ad alcuniaspetti di base di Matlab e mostra quali pacchetti (toolboxes) siano

installati nella versione in uso.

L'help (doc) di MATLAB permette di ottenere informazionidettagliate su qualsiasi comando.

Ad esempio: help sqrt (oppure doc sqrt). Il solo comando helpelenca gli argomenti per i quali disponibile la guida, suddivisi in

grandi aree tematiche (funzioni elementari, trattamento di matrici,

graca...)

Introduzione a Matlab Scalari in Matlab Vettori in Matlab Matrici in Matlab Istruzioni di controllo e istruzioni condizionali Operatori logici Funzioni simboliche

Alcuni trucchi utili...

possibile richiamare storicamente i comandi

precedentemente digitati nella sessione di lavoro usando i tasti

"; # possibile spostarsi lungo la linea di comando corrente e

modicare la riga scritta utilizzando i tasti !, possibile completare un'istruzione gi precedentemente

digitata scrivendone le prime lettere e utilizzando poi il tasto "

Introduzione a Matlab Scalari in Matlab Vettori in Matlab Matrici in Matlab Istruzioni di controllo e istruzioni condizionali Operatori logici Funzioni simboliche

Scalari in Matlab

In Matlab non necessario denire e dichiarare le variabili.

Tutte le variabili vengono trattate in doppia precisione (8 byte),senza distinzione fra interi, reali e reali a doppia precisione.

Iniziamo ad usare Matlab come una semplice calcolatrice:

ad esempio scriviamo

z=3*2

assegnando cosi alla variabile z il valore 6.

Se scriviamo solamente

3*2

il valore 6 viene assegnato alla variabile ans (abbreviazione dianswer). Tale variabile contiene sempre l'ultimo valore non

esplicitamente assegnato dall'utente ad una variabile.

Introduzione a Matlab Scalari in Matlab Vettori in Matlab Matrici in Matlab Istruzioni di controllo e istruzioni condizionali Operatori logici Funzioni simboliche

Il ; alla ne dell'istruzione sopprime la visualizzazione a schermo delrisultato (ma non l'esecuzione eettiva dell'operazione!).

Ad esempio, assegnamo alla variabile a il risultato di una certaoperazione, senza visualizzarlo, e poi richiamiamo a (senza ;) pervederne il valore

a=sqrt(100);

a

Se a e b sono due variabili scalari, abbiamo: la somma a+b, lasottrazione a-b, il prodotto a*b, la divisione a/b, la potenza ab.

Ricordiamo che in Matlab vale la usuale precedenza fra operazioni,

ad esempio la moltiplicazione (e divisione) ha precedenza sulla

addizione (e sottrazione) e l'elevamento a potenza ha precedenza

su addizione, sottrazione, moltiplicazione e divisione.

Introduzione a Matlab Scalari in Matlab Vettori in Matlab Matrici in Matlab Istruzioni di controllo e istruzioni condizionali Operatori logici Funzioni simboliche

Ad esempio:

3+2*4

11

3*24

48

Per alterare l'ordine delle operazioni ci si serve delle parentesi tonde.

Anche quando non si vogliano alterare le precedenze, l'uso delle

parentesi tonde comunque sempre buona norma per chiarezza.

(3+2)*4

20

(3*2)4

1296

Introduzione a Matlab Scalari in Matlab Vettori in Matlab Matrici in Matlab Istruzioni di controllo e istruzioni condizionali Operatori logici Funzioni simboliche

Esercizi

Posto a = 3; b = 2, calcolare 3a+b ;

a+b2 ;

a+b2a ,

1

81

3

; 4p64

Posto x = 4; y = 2, calcolare

3x+y

3Se x = 10; y = 5; z = 2, calcolare 3x2y

5z2(= 1)

Per a = 8, calcolare a+3pa

2a+4 (= 0:5)

Se a = 13 ; b =15 , calcolare

a3

(1b+3a)2 (= 8:3)

Introduzione a Matlab Scalari in Matlab Vettori in Matlab Matrici in Matlab Istruzioni di controllo e istruzioni condizionali Operatori logici Funzioni simboliche

Variabili predenite:sono pi (pigreco), i,j (unit immaginarie), eps (epsilon macchina).Ogni variabile pu essere tuttavia sovrascritta, ad esempio

possiamo assegnare pi=5 (attenzione!).Per cancellare il valore di una variabile (o se predenita riportarla

al suo valore di default) usiamo il comando clear. Ad esempiopi

3.1416

pi=5;

clear pi

pi

3.1416

Il comando clear all cancella il valore di tutte le variabili (provaread usare tale comando in combinazione con il comando whos cheelenca le variabili presenti nello spazio di lavoro).

Introduzione a Matlab Scalari in Matlab Vettori in Matlab Matrici in Matlab Istruzioni di controllo e istruzioni condizionali Operatori logici Funzioni simboliche

Formati di output

In output una variabile intera viene visualizzata generalmente in un

formato privo di punto decimale. Una variabile reale viene

visualizzata solo con quattro cifre decimali.

sin(2)

ans =

0.9093

log(3)

ans =

1.0986

Se si vuole modicare il formato di output si pu utilizzare:

format short xed point con 4 cifre decimali

format long xed point con 14 cifre decimali

format short e oating point con 4 cifre decimali

format long e oating point con 15 cifre decimali

rat frazione irriducibile

Introduzione a Matlab Scalari in Matlab Vettori in Matlab Matrici in Matlab Istruzioni di controllo e istruzioni condizionali Operatori logici Funzioni simboliche

format long

log(3)

ans =

1.09861228866811

format short e

log(3)

ans =

1.0986e+000

format long e

log(3)

ans =

1.098612288668110e+000

format rat

log(3)

ans =

713/649

Introduzione a Matlab Scalari in Matlab Vettori in Matlab Matrici in Matlab Istruzioni di controllo e istruzioni condizionali Operatori logici Funzioni simboliche

Vettori in Matlab

Per introdurre un vettore riga suciente inserire fr