Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- clear all clc
- prompt = 'Enter n: ';
- n = input(prompt);
- simprl(@(x)(exp(-x^2)),0,1,n);
- function s=simprl(f,a,b,n)
- array1 = ones(1,n);
- array2 = ones(1, 2*n);
- array3 = ones(1,n);
- array4 = ones(1,n);
- fun = @(x)(exp(-x.^2)); true = integral(fun,a,b);
- n = n * 2;
- even =0;
- odd = 0;
- y0 = f (a);
- yn = f (b);
- x = 0;
- h=(b-a)/( n / 2);
- for i = 0: (( n) + 1) x=0;
- even = 0;
- odd = 0;
- h=(b-a)/(i + 1);
- for j = 1:i
- x = x + a + h; r = mod(j,2);
- if (r == 0)
- even = even + f(x);
- else
- end end
- end
- I = (h / 3) * ((y0 + yn) + 2 * even + 4 * odd);
- odd = odd + f(x);
- fprintf('Value after %i', n/2 ) fprintf(' iterations: %.16f \n', I);
- fprintf('True value for the integral: %.16f' , true);
- even =0;
- odd = 0;
- y0 = f (a);
- yn = f (b);
- x = 0;
- h=(b-a)/( n );
- for i = 0: ((2 * n) + 1) x=0;
- even = 0;
- odd = 0;
- h=(b-a)/(i + 1);
- for j = 1:i
- x = x + a + h; r = mod(j,2);
- if (r == 0)
- even = even + f(x);
- else
- end end
- y = (h / 3) * ((y0 + yn) + 2 * even + 4 * odd); array2(1, i + 1) = y;
- end
- even =0;
- odd = 0;
- y0 = f (a);
- yn = f (b);
- x = 0;
- h=(b-a)/(n / 2);
- for i = 0: n - 1
- x=0;
- even = 0;
- odd = 0;
- h=(b-a)/(i + 1);
- odd = odd + f(x);
- for j = 1:i
- x = x + a + h;
- r = mod(j,2);
- if (r == 0)
- even = even + f(x);
- else
- end end
- y = (h / 3) * ((y0 + yn) + 2 * even + 4 * odd); array1(1, i + 1) = y;
- array4(1, i + 1) = i;
- l = array1(i + 1);
- m = array2(2 * (i + 1));
- rich= ( ((2^8)*m)-l)/((2^8)-1); error = (rich - true ) / true;
- error = abs(error);
- array3(1, i + 1) = error;
- end
- a = array3(2:2:end);
- b = array4(2:1:(n/2)
- loglog(b,a)
- title('Composite
- xlabel('iterations') ylabel('error %');
- end
- + 1);
- Simpsons 1/3 rule error %'); ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement