Anteprima
Vedrai una selezione di 1 pagina su 3
Appunti Calcolo Numerico via HW1 Pag. 1
1 su 3
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

% corretti.

%

format long

fzeroSol1=fzero(funref,[2.5 3])

fzeroSol2=fzero(funref,[3.5 4])

%%

% Indicativamente, i risultati delle due chiamate a _fzero()_ sono simili a

% quelli indicati per la realizzazione del grafico.

%% 4. I metodi di Bisezione e di Newton

% Questa volta, invece, si calcola un'approssimazione dei due zeri della

% funzione nell'intervallo di interesse. Si farà riferimento ai metodi di

% _Bisezione_ per il primo e di _Newton_ per il secondo zero. L'accuratezza

% richiesta è di 6 cire decimali, pertanto _delta_ass_ sarà uguale a 1e-6.

%

% Si ricorda che il metodo di Bisezione è un metodo globale con velocità di

% convergenza lineare, mentre quello di Newton è locale a velocità

% quadratica.

%

% Il metodo di bisezione prende come parametri di input la funzione di

% riferimento, un intervallo in cui è contenuto lo zero della funzione e

% l'accuratezza richiesta. Il metodo di Newton, invece, richiede come

% parametri di input la funzione di riferimento, la funzione derivata

% prima, un punto x0 iniziale, l'accuratezza massima richiesta e un massimo

% numero di iterazioni in caso di non convergenza del metodo.

bisezioneSol=bisezione(funref,2.5,3,1e-6)

NewtonSol=Newton(funref,fprimo,3.5,1e-6,100)

%% 5. Verifica dell'accuratezza e osservazioni sul residuo

% Dalla visualizzazione dei risultati di _fzero()_ presenti nel paragrafo 3

% e da quella dei due metodi del paragrafo 4, è possibile osservare a prima

% vista come i requisiti di accuratezza siano stati soddisfatti.

% A dimostrazione di ciò, sono stati implementati due costrutti

% _if-then-else_ allo scopo di mostrare un messaggio di errore o di

% successo a seconda delle condizioni. In particolare, il corpo del _then_

% sarà eseguito nel caso in cui l'errore assoluto sia minore del delta_ass

% richiesto.

%

if (abs(fzeroSol1-bisezioneSol) < 1e-6)

disp('L''errore assoluto è minore di "1e-6" richiesto.')

else disp('L''errore assoluto è maggiore di "1e-6" richiesto. Errore.')

end

if(abs(fzeroSol2-NewtonSol) < 1e-6)

disp('L''errore assoluto è minore di "1e-6" richiesto.')

else disp('L''errore assoluto è maggiore di "1e-6" richiesto. Errore.')

end

%%

% Ciò implica, inoltre, che il metodo di Newton converge nel caso

% specifico. Dopo aver compiuto le opportune osservazioni sulla precisione

% richiesta, calcoliamo il valore del residuo nei due punti trovati nel

% paragrafo 4.

%

residuo_bisezione=abs(funref(bisezioneSol))

residuo_newton=abs(funref(NewtonSol))

%%

% Ricordando che _residuo(xk) = abs(f(xk))_, si può osservare che il residuo

% calcolato nella soluzione ottenuta con il metodo di Newton è minore di

% quello calcolato nella soluzione ottenuta con il metodo di Bisezione. Di

% conseguenza, il metodo di Newton riesce ad approssimare meglio la

% soluzione rispetto al metodo di Bisezione nel proprio caso specifico.

%% 6. Ricerca del punto di minimo e di massimo

% Tramite la function _fminbnd()_ definita in MATLAB, si vuole ricavare il

% punto di minimo e il punto di massimo della funzione di riferimento nel

Dettagli
Publisher
A.A. 2014-2015
3 pagine
2 download
SSD Scienze matematiche e informatiche MAT/08 Analisi numerica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Wenress di informazioni apprese con la frequenza delle lezioni di Calcolo Numerico e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Napoli - Parthenope o del prof Giunta Giulio.