Che materia stai cercando?

Metodi Numerici per l'Ingegneria - elaborato

Esercitazione per l'esame di Metodi numerici per l'ingegneria della professoressa Macconi. Nella relazione è riportata la function Matlab che realizza un algoritmo basato sul metodo di dei Trapezi e di Cavalieri-Simpson.
Il metodo dei Trapezi e quello di Cavalieri-Simpson consentono di calcolare in modo approssimato l'integrale di una funzione.
I risultati ottenuti sono dunque confrontati... Vedi di più

Esame di Metodi Numerici per l'Ingegneria docente Prof. M. Macconi

Anteprima

ESTRATTO DOCUMENTO

Capitolo 2- Function del metodo dei trapezi e di Cavalieri - Simpson

2. Function metodo dei trapezi e di Cavalieri - Simpson

Struttura dell’algoritmo

2.1.

2.1.1. Metodo dei trapezi

Si riportano di seguito i passi necessari per la costruzione dell’algoritmo basato sul

metodo dei trapezi.

% Fun è la funzione integranda

% a è l’estremo inferiore dell’intervallo

% b è l’estremo superiore dell’intervallo

% Nmax è il numero massimo di iterazioni di confronto

% n1 è il numero iniziale di sottointervalli

% toll è la tolleranza assunta

1) Leggi: Fun, a, b, Nmax, n1 e toll.

2) h1 = (b-a)/n1

I1 = 0

per (Contatore1 = 1:n1)

Festri1 = Fun(a + (Contatore1-1)*h1)

Festrs1 = Fun(a + Contatore1*h1)

I1 = I1 + ((h1/2)*(Festri1+Festrs1))

fine

n2 = 2*n1

per ( Iter = 1:Nmax)

I2 = 0

h2 = (b-a)/n2

per (Contatore2 = 1:n2)

Festri2 = Fun(a + (Contatore2-1)*h2)

Festrs2 = Fun(a + Contatore2*h2)

I2 = I2 + ((h2/2)*(Festri2+Festrs2))

fine

se |I2-I1| toll

I = I2

stop

altrimenti

I1 = I2

n2 = 2*n2

fine

fine

se (Iter == Nmax ed |I2-I1| > toll

I non raggiunto

fine

3) Scrivi: I Pagina | 6

Capitolo 2- Function del metodo dei trapezi e di Cavalieri - Simpson

2.1.2. Metodo di Cavalieri Simpson

di seguito i passi necessari per la costruzione dell’algoritmo basato sul

Si riportano –

metodo di Cavalieri Simpson.

% Fun è la funzione integranda

% a è l’estremo inferiore dell’intervallo

% b è l’estremo superiore dell’intervallo

% Nmax è il numero massimo di iterazioni di confronto

% n1 è il numero iniziale di sottointervalli

% toll è la tolleranza assunta

1) Leggi: Fun, a, b, Nmax, n1 e toll.

2) h1 = (b-a)/n1

I1 = 0

per (Contatore1 = 1:n1/2)

Festri1 = Fun(a + (2*Contatore1-2)*h1)

Fint1 = Fun(a + (2*Contatore1-1)*h1)

Festrs1 = Fun(a + (2*Contatore1)*h1)

I1 = I1 + ((h1/3)*(Festri1+4*Fint1+Festrs1))

fine

n2 = 2*n1

per ( Iter = 1:Nmax)

I2 = 0

h2 = (b-a)/n2

per (Contatore2 = 1:n2/2)

Festri2 = Fun(a + (2*Contatore2-2)*h2)

Fint2 = Fun(a + (2*Contatore2-1)*h2)

Festrs2 = Fun(a + (2*Contatore2)*h2)

I2 = I2 + ((h2/3)*(Festri2+4*Fint2+Festrs2))

fine

se |I2-I1| toll

I = I2

stop

altrimenti

I1 = I2

n2 = 2*n2

fine

fine

se (Iter == Nmax ed |I2-I1| > toll

I non raggiunto

fine

3) Scrivi: I Pagina | 7

Capitolo 2- Function del metodo dei trapezi e di Cavalieri - Simpson

2.2. Function

2.2.1. Metodo dei trapezi

function[Int,Out] = Met_Trapezi(Fun,a,b,Nmax,n1,toll)

%--------------------------------------------------------------------------

% Formula dei trapezi

%--------------------------------------------------------------------------

%

% function [Int,Out] = Met_Trapezi(Fun,a,b,Nmax,n1,toll)

%

% ||Input||

% Fun è la funzione da integrare

% a è l'estremo inferiore dell'intervallo di integrazione

% b è l'estremo superiore dell'intervallo di integrazione

% Nmax è il massimo numero di iterazioni di confronto

% n1 è il numero di sottointervalli a cui applicare il metodo dei trapezi

% toll è la tolleranza assunta

%

% ||Output||

% Int è l'approssimazione numerica dell'integrale

% Out è l'esito del procedimento:

% Out = 0 --> Si verifica il criterio d'arresto

% Out = 1 --> Non si verifica il criterio d'arresto

%

% ||Variabili tabella||

% Iter sono le iterazioni di confronto

% Diff è la differenza tra due soluzioni |Iter2-Iter1|

h1 = (b-a)/n1;% Ampiezza del primo intervallo

Int1 = 0;

for Count1 = 1:n1

Finf1 = feval(Fun,a+(Count1-1)*h1);% Valutazione della funzione negli

Fsup1 = feval(Fun,a+Count1*h1); % estremi dell'intervallo

Int1 = Int1+((h1/2)*(Finf1+Fsup1));

end

n2 = 2*n1;

disp(sprintf(' Iter Diff'))% Creazione tabella

for Iter = 1:Nmax

Int2 = 0;

h2 = (b-a)/n2;% Ampiezza del secondo intervallo

for Count2 = 1:n2

Finf2 = feval(Fun,a+(Count2-1)*h2);% Valutazione della funzione

Fsup2 = feval(Fun,a+Count2*h2); % negli estremi dell'intervallo

Int2 = Int2+((h2/2)*(Finf2+Fsup2));

end

Diff = abs(Int2-Int1);

disp(sprintf('%8.0f: %20.16e',Iter,Diff))% Inserimento dati Pagina | 8

Capitolo 2- Function del metodo dei trapezi e di Cavalieri - Simpson

if Diff <= toll;% Verifica del criterio d’arresto

Int = Int2;

Out = 0;

format long

disp(sprintf('\n Si verifica il criterio d''arresto:',Int))

break

else Int1 = Int2;

n2 = 2*n2;

end

end

if Iter == Nmax && Diff > toll

Int = 0;

Out = 1;

disp(sprintf('\n Non si è verificato il criterio d''arresto'))

return

end

end Pagina | 9

Capitolo 2- Function del metodo dei trapezi e di Cavalieri - Simpson

2.2.2 Metodo di Cavalieri Simpson

function[Int,Out] = Met_Simpson(Fun,a,b,Nmax,n1,toll)

%--------------------------------------------------------------------------

% Formula di Cavalieri - Simpson

%--------------------------------------------------------------------------

%

% function [Int,Out] = Met_Simpson(Fun,a,b,Nmax,n1,toll)

%

% ||Input||

% Fun è la funzione da integrare

% a è l'estremo inferiore dell'intervallo di integrazione

% b è l'estremo superiore dell'intervallo di integrazione

% Nmax è il massimo numero di iterazioni di confronto

% n1 è il numero di sottointervalli a cui applicare il metodo dei trapezi

% toll è la tolleranza assunta

%

% ||Output||

% Int è l'approssimazione numerica dell'integrale

% Out è l'esito del procedimento:

% Out = 0 --> Si verifica il criterio d'arresto

% Out = 1 --> Non si verifica il criterio d'arresto

%

% ||Variabili tabella||

% Iter sono le iterazioni di confronto

% Diff è la differenza tra due soluzioni |Iter2-Iter1|

h1 = (b-a)/n1;% Ampiezza del primo intervallo

Int1 = 0;

for Count1 = 1:n1/2

Finf1 = feval(Fun,a+(2*Count1-2)*h1);% Valutazione della funzione negli

Fint1 = feval(Fun,a+(2*Count1-1)*h1);% estremi dell'intervallo e nel

Fsup1 = feval(Fun,a+(2*Count1)*h1); % punto intermedio

Int1 = Int1+(h1/3)*(Finf1+4*Fint1+Fsup1);

end

n2 = 2*n1;

disp(sprintf(' Iter Diff'))% Creazione tabella

for Iter = 1:Nmax

Int2 = 0;

h2 = (b-a)/n2;% Ampiezza del secondo intervallo

for Count2 = 1:n2/2

Finf2 = feval(Fun,a+(2*Count2-2)*h2);% Valutazione della funzione

Fint2 = feval(Fun,a+(2*Count2-1)*h2);% nel punto intermedio e agli

Fsup2 = feval(Fun,a+(2*Count2)*h2); % estremi dell’intervallo

Int2 = Int2+(h2/3)*(Finf2+4*Fint2+Fsup2);

end Pagina | 10

Capitolo 2- Function del metodo dei trapezi e di Cavalieri - Simpson

Diff = abs(Int2-Int1);

disp(sprintf('%8.0f: %20.16e',Iter,Diff))% Inserimento dati

if Diff <= toll% Verifica del criterio d’arresto

Int = Int2;

Out = 0;

format long

disp(sprintf('\n Si verifica il criterio d''arresto:',Int))

break

else Int1 = Int2;

n2 = 2*n2;

end

end

if Iter == Nmax && Diff > toll

Int = 0;

Out = 1;

disp(sprintf('\n Non si è verificato il criterio d''arresto'))

return

end

end Pagina | 11

Capitolo 3- Risultati delle function

3. Risultati delle function

Le function create consentono dunque di approssimare numericamente il calcolo di

un integrale definito.

è applicare le function per calcolare l’integrale, nell’intervallo [0,1], della

L’obiettivo 2

-2

) ∙ e

funzione f(x) = sin( - 0.3.

Si riporta di seguito l’M-file (Fun.m) contenente la funzione suddetta:

function [f] = f(x)

% Funzione oggetto di studio

f = sin(sqrt(x))*exp(-2*x^2)-0.3;

end

Preliminarmente, per verificare il corretto funzionamento degli M-file realizzati, sono

stati applicati ad una funzione (Funv.m) il cui integrale risulta di più facile risoluzione:

function [f] = f(x)

% Funzione di verifica

f = x^3-6*x+3*(x^2);

end

Risolvendo analiticamente l’integrale nell’intervallo chiuso [0,1] in cui la funzione è

1 [ ]

3 2 3 2

( – 3 )d

continua, si ottiene: = -3 = -1.75.

0

Si riportano di seguito i risultati ottenuti con Matlab.

Figura 3.1 – Calcolo dell’integrale con il metodo dei trapezi Pagina | 12


PAGINE

17

PESO

800.91 KB

PUBBLICATO

+1 anno fa


DESCRIZIONE ESERCITAZIONE

Esercitazione per l'esame di Metodi numerici per l'ingegneria della professoressa Macconi. Nella relazione è riportata la function Matlab che realizza un algoritmo basato sul metodo di dei Trapezi e di Cavalieri-Simpson.
Il metodo dei Trapezi e quello di Cavalieri-Simpson consentono di calcolare in modo approssimato l'integrale di una funzione.
I risultati ottenuti sono dunque confrontati con la funzione Matlab "quad".


DETTAGLI
Corso di laurea: Corso di laurea magistrale in ingegneria per la tutela dell'ambiente e del territorio
SSD:
Università: Firenze - Unifi
A.A.: 2014-2015

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Nobody.1990 di informazioni apprese con la frequenza delle lezioni di Metodi Numerici per l'Ingegneria e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Firenze - Unifi o del prof Macconi Maria.

Acquista con carta o conto PayPal

Scarica il file tutte le volte che vuoi

Paga con un conto PayPal per usufruire della garanzia Soddisfatto o rimborsato

Recensioni
Ti è piaciuto questo appunto? Valutalo!

Altri appunti di Metodi numerici per l'ingegneria

Metodi Numerici per l'Ingegneria - Relazione
Esercitazione
Impianti di trattamento acque e rifiuti - progetto di un impianto di depurazione di acque reflue urbane (tavole)
Esercitazione
Impianti di trattamento acque e rifiuti - progetto di un impianto di depurazione di acque reflue urbane
Esercitazione
Progettazione idraulica - relazione
Esercitazione