NUMERICAL INTEGRATION USING SIMPSONS

6 vues (au cours des 30 derniers jours)
mohammed shapique
mohammed shapique le 24 Oct 2020
This is the program to evalute intergration using Simpsons. There is an error in line 11.
lambda=1:0.1:2;
gamma1=0.4;
zeta=0.3;
a=0;%lower limit
b=1;%lower limit
n=10;%number of sub-intervals
f1=@(x)((1-x).^((gamma1./zeta)-1)).*(exp(-(lambda.*x)./zeta));
h=(b-a)/n;
for k=1:1:n
x(k)=a+k*h;
y(k)=f1(x(k));
end
so=0;se=0;
for k=1:1:n-1
if rem(k,2)==1
so=so+y(k);%sum of odd terms
else
se=se+y(k); %sum of even terms
end
end
SOL=h/3*(f1(a)+f1(b)+4*so+2*se);

Réponse acceptée

Alan Stevens
Alan Stevens le 24 Oct 2020
The problem is that you have many values of lambda. To deal with this use a loop to do the integration for each value of lambda (this requires f1 to have an extra input parameter):
lambda=1:0.1:2;
gamma1=0.4;
zeta=0.3;
a=0;%lower limit
b=1;%lower limit
n=10;%number of sub-intervals
f1=@(x,p)((1-x).^((gamma1./zeta)-1)).*(exp(-(lambda(p).*x)./zeta));
h=(b-a)/n;
for p = 1:numel(lambda)
for k=1:n
x(k)=a+k*h;
y(k)=f1(x(k),p);
end
so=0;se=0;
for k=1:n-1
if rem(k,2)==1
so=so+y(k);%sum of odd terms
else
se=se+y(k); %sum of even terms
end
end
SOL(p)=h/3*(f1(a,p)+f1(b,p)+4*so+2*se);
end

Plus de réponses (0)

Catégories

En savoir plus sur Numerical Integration and Differential Equations dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by