Formquad.m % FORMULE DI QUADRATURA help
formquad; inizio=0; while inizio==0 clear; inizio=0; disp('INTRODUCI:'); err=0; while
err==0
F=input('-
Il nome della function contenente la funzione : ','s');
if exist(F)==0
disp('La
funzione introdotta non esiste,introduci : ');
else
err=1; end end a=input('-
L''estremo inferiore di integrazione : '); b=input('-
L''estremo superiore di integrazione : '); if a==b
disp(' L''integrale definito é nullo '); else
err=0; while err==0
n=input('-
Il numero di suddivisioni dell''intervallo di integrazione :');
if n<=0
| round(n)~=n
disp('Il
numero di suddivisioni deve essere un intero naturale non nullo.Introduci');
else
err=1; end
end
h=(b-a)/n;
x(1)=a;
% determinazione del vettore
for i=2:n
% sul quale applicare la
x(i)=x(i-1)+h;
%
formula di quadratura
end x(n+1)=b; for i=1:n+1
y(i)=feval(F,x(i));
end
e=0; while e==0
disp('Scegliere
tra le seguenti formule di quadratura : ');
disp('1. Trapezi composta');
disp('2. Simpson composta');
s=input('Introduci il numero corrispondente
: ');
q=0; if s~=1
& s~=2
disp('Scelta
errata.Ricomincia :');
else
risp=1; while
q==0 & risp==1 if
s==1 & risp==1
% Trapezi composta
c=0; for
i=2:n
c=c+y(i); end
T=(h/2)*(y(1)+y(n+1))+h*c
q=1; elseif
s==2 & risp==1
% Simpson composta
if rem(n,2)~=0
disp('Il
numero di intervalli deve essere pari');
disp('Allora premere :');
disp('1. Per applicare la formula dei
trapezi composta ');
disp('2. Per uscire dal programma ');
risp=input('Introduci il numero
corrispondente : ');
s=1;
if risp~=1
risp=2;
q=1;
end
else
c=0;
for i=1:n/2-1
c=c+y(2*i+1);
end
d=0;
for i=1:n/2
d=d+y(2*i);
end
T=(h/3)*(y(1)+y(n+1)+2*c+4*d)
q=1;
end
end end
e=1; end end
end inizio=input('Se
vuoi ricominciare nuovamente premi il tasto ''0'' :'); end
|