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 ...
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