Simpsons 1/3 Code implementation in Matlab using dynamic parts
Solution of Simpson 1/3 using dynamic segment of the polynomial
f = @ (x) 0.2+25*x-200*x^2+675*x^3-900*x^4+400*x^5;
n = input('Enter how many parts do you want? : ');
a = input('Enter lower limit : ');
b = input('Enter Upper Limit : ');
part = (b - a)/n;
array = [0,0,0,0,0,0,0,0,0,0,0];
for i=1:n
if(i == 1)
array(i) = a;
else
array(i) = array(i-1) + part;
end;
end;
result = 0;
for i=1:n+1
x = i-1;
if(x==0 || x == n)
result = result + feval(f,array(i));
end
if(x~=0 || x~=n)
if(rem(x,2)==0)
result = result + 2*feval(f,array(i));
else
result = result + 4*feval(f,array(i));
end
end
end
I = (b-a) * (result /(3 * n));
fprintf('\nIntegral is : %f\n', I);
exact_integral = 1.640533;
E = abs((exact_integral - I)/exact_integral) * 100;
fprintf('\nTrue Error = %f\n', E);
0 comments:
Post a Comment