18.01.2015 Views

Appunti di Calcolo Numerico - Esercizi e Dispense - Università degli ...

Appunti di Calcolo Numerico - Esercizi e Dispense - Università degli ...

Appunti di Calcolo Numerico - Esercizi e Dispense - Università degli ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

12. PRIMI PASSI IN MATLAB®<br />

function [ y ]= f ( x )<br />

y=log ( x ) * x<br />

non è vettorizzata. Se invece scriviamo<br />

function [ y ]= f ( x )<br />

y=log ( x ) . * x<br />

allora la function è vettorizzata.<br />

Un’altra via è <strong>di</strong> scrivere la function come una funzione inline nella Command Window e <strong>di</strong> utilizzare la<br />

function ezplot per farne il grafico.<br />

Supponiamo <strong>di</strong> voler fare il grafico della funzione f (x) = e x −10sin(x)−1. Per avere questa funzione nella<br />

Command Window durante la sessione <strong>di</strong> lavoro (quin<strong>di</strong> non come una function scritta su file), scriviamo il<br />

comando<br />

fun = inline(’exp(x)-10*sin(x)-1’)<br />

Sulla Command Window compaiono le seguenti righe:<br />

>> fun=inline(’exp(x)-10*sin(x)-1’)<br />

fun =<br />

Inline function:<br />

fun(x) = exp(x)-10*sin(x)-1<br />

Se vogliamo farne il grafico nell’intervallo [0,2] scriveremo<br />

ezplot(fun, 0, 2)<br />

e viene <strong>di</strong>rettamente creato il grafico della funzione fun. La function ezplot può essere utilizzata anche<br />

con funzioni intrinseche <strong>di</strong> MATLAB® o definite dall’utente in forma vettorizzata (per esempio<br />

ezplot(’sin’,0,2)<br />

crea il grafico della funzione sin(x) nell’intervallo [0,2]).<br />

12.8 Sulle potenzialità <strong>di</strong> MATLAB®<br />

MATLAB® ha un grande numero <strong>di</strong> functions predefinite che permettono <strong>di</strong> eseguire applicazioni in <strong>di</strong>versi<br />

settori propriamente matematici, per approssimare zeri <strong>di</strong> funzioni, per lavorare su matrici sparse, risolvere<br />

equazioni <strong>di</strong>fferenziali, lavorare su dati statistici, fare grafici in due e tre <strong>di</strong>mensioni... Basta vedere il<br />

Demo <strong>di</strong> MATLAB® per trovare la function <strong>di</strong> cui si ha bisogno.<br />

È possibile inoltre installare pacchetti specifichi per specifiche aree <strong>di</strong> applicazioni, quali sistemi <strong>di</strong><br />

controllo, biologia computazionale, finanza computazionale, meccatronica...<br />

In questa breve presentazione <strong>di</strong> MATLAB® , tuttavia, cercheremo <strong>di</strong> vedere come utilizzarlo per capire<br />

meglio alcuni dei problemi trattati in <strong>Calcolo</strong> <strong>Numerico</strong>, rielaborando o ripresentando alcuni esempi già visti.<br />

12.9 Applicazioni <strong>di</strong> MATLAB® nel <strong>Calcolo</strong> <strong>Numerico</strong><br />

12.9.1 Sull’instabilità numerica<br />

Ripren<strong>di</strong>amo l’esempio sull’instabilità numerica visto nel Capitolo sulla rappresentazione dei numeri al<br />

calcolatore, per cui vogliamo approssimare il valore <strong>degli</strong> integrali espressi me<strong>di</strong>ante la formula<br />

y n =<br />

∫ 1<br />

0<br />

x n<br />

x + 10 dx<br />

per valori <strong>di</strong> n = 1,2,...,30.<br />

Avevamo visto due formule ricorsive che ci permettevano <strong>di</strong> approssimare y n , una era instabile e l’altra<br />

era stabile.<br />

Proviamo a rivedere gli algoritmi e scriviamo un programma MATLAB® da eseguire per verificare quanto<br />

avevamo detto.<br />

194

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!