Question

1. Approximate the following integral, exp(r) using the composite midpoint rule, composite trapezoid rule, and composite Simp
can i get some help with this ?
0 0
Add a comment Improve this question Transcribed image text
Answer #1


Matlab code for finding integration using different method clear all close all %function for which integration have to do f1-val=0; splits interval a to b into N+1 xx-linspace (a, b, N+1); dx=xx(2)-xx (1); %x interval loop for Riemann integration subFunction for which integration have to do f(x)-(x)exp (x) Exact integration vlue for the function 1.718282 Error in integrati

%Matlab code for finding integration using different method
clear all
close all
%function for which integration have to do
f1=@(x) exp(x);
%Displaying the function for which integration have to do
fprintf('Function for which integration have to do f(x)=')
disp(f1)

%upper and lower limit
a=0; b=1;

%Function for exact integration value
f_ext=exp(1)-exp(0);
fprintf('Exact integration value for the function %f\n',f_ext)

%loop for all integration values
for i=1:20
    n=2^i+1;
    val_simp=Simpson(f1,a,b,n);
    val_trap=Trapizoidal(f1,a,b,n);
    val_mid=Midpoint(f1,a,b,n);
    %error for all method
    err_simp(i)=abs(f_ext-val_simp);
    err_trap(i)=abs(f_ext-val_trap);
    err_mid(i)=abs(f_ext-val_mid);
    k(i)=n;
end

%Log log plot for error vs. step size
loglog(k,err_simp)
hold on
loglog(k,err_trap)
loglog(k,err_mid)
legend('Simpson method','Trapizoidal method','Mid point')
xlabel('Number of steps')
ylabel('Error of integration')
title('log plot of error vs steps using different method')

%integral value using matlab built in integral
val_int=integral(f1,a,b);
%error in integration
fprintf('Error in integration for matlab built in integral is %e.\n',abs(val_int-f_ext))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%Matlab function for mid point integration
function val=Midpoint(func,a,b,N)
    % func is the function for integration
    % a is the lower limit of integration
    % b is the upper limit of integration
    % N number of rectangles to be used
    val=0;
    %splits interval a to b into N+1 subintervals
    xx=linspace(a,b,N+1);
    dx=xx(2)-xx(1); %x interval
    %loop for Riemann integration
        for i=1:length(xx)-1
            xx1=(xx(i)+xx(i+1))/2;
            val=val+dx*double(func(xx1));
        end
     
end

%%Matlab function for mid point integration
function val=Trapizoidal(func,a,b,N)
    % func is the function for integration
    % a is the lower limit of integration
    % b is the upper limit of integration
    % N number of rectangles to be used
    val=0;
    %splits interval a to b into N+1 subintervals
    xx=linspace(a,b,N+1);
    dx=xx(2)-xx(1); %x interval
    %loop for Riemann integration
        for i=2:length(xx)-1
            xx1=xx(i);
            val=val+dx*double(func(xx1));
        end
       val=val+dx*(0.5*double(func(xx(1)))+0.5*double(func(xx(end))));
end

%%Matlab function for mid point integration
function val=Simpson(func,a,b,N)
    % func is the function for integration
    % a is the lower limit of integration
    % b is the upper limit of integration
    % N number of rectangles to be used
    %splits interval a to b into N+1 subintervals
    xx=linspace(a,b,N+1);
    dx=xx(2)-xx(1); %x interval
    val=(dx/3)*(double(func(xx(1)))+double(func(xx(end))));
    %loop for Riemann integration
        for i=2:length(xx)-1
            xx1=xx(i);
            if mod(i,2)==0
                val=val+(dx/3)*4*double(func(xx1));
            else
                val=val+(dx/3)*2*double(func(xx1));
              
            end
        end
     
end

%%%%%%%%%%%%%%%%%% End of Code %%%%%%%%%%%%%%%%%

Add a comment
Know the answer?
Add Answer to:
1. Approximate the following integral, exp(r) using the composite midpoint rule, composite trapez...
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for? Ask your own homework help question. Our experts will answer your question WITHIN MINUTES for Free.
Similar Homework Help Questions
ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT