Question: function IntegralCalculator func= input('Enter an equation in x: ','s') ; f = str2func(['@(x) ' func]); a= input('Enter the bottom limit of the integral: '); b=

  • function IntegralCalculator

    func= input('Enter an equation in x: ','s') ;

    f = str2func(['@(x) ' func]);

    a= input('Enter the bottom limit of the integral: ');

    b= input('Enter the upper limit of the integral: ');

    n = input('Enter the number of nodes for the integral: ');

    method = input('Enter the method you want to use in capital letters: ', 's');

    int=0;

    while strcmp('LA',method)

    dx=(b-a)/n;

    r=f(a);

    for i = 1:n-1

    c=a+i*dx;

    r=r+f(c);

    end

    r=dx*r;

    nv=r;

    err= (nv-r)/nv;

    disp(["Your Left side estimate is",num2str(r)])

    disp(["Your approximated error is",num2str(err)])

    plot(1:n, r, '-', 'LineWidth', 2,'Color', 'b');

    return

    end

    while strcmp('RA', method)

    dx=(b-a)/n;

    w=f(a);

    for i = 1:n+1

    c=a+i*dx;

    w=w+f(c);

    end w=dx*w;

    disp(["Your Right side estimate is",num2str(w)])

    return

    end

    while strcmp('TR', method)

    d = linspace(a,b,n+1);

    v =d(2)-d(1);

    ls = sum(f(d(1:n))*v);

    rs = sum(f(d(2:n+1))*v);

    te = (ls +rs)/2;

    disp(["Your Trapezoidal estimate is",num2str(te)])

    return

    end

    while strcmp('MR', method)

    dx =(b-a)/n;

    for i= a:dx:b

    int = int + f(i+dx/2);

    end

    in =dx* int;

    disp (['Your Mid point estimate is: ', num2str(in)])

    return

    end

    while strcmp('3FD', method)

    dx =(b-a)/n;

    o=0;

    e=0;

    if rem(n,2)==1

    disp('ERROR! Enter a valid n')

    input("Enter n as an even number ")

    end

    for i =1:1:n-1

    s=f(a+(i*dx));

    o =o + f(s);

    end

    for i = 2:2:n-2

    s=f(a+(i*dx));

    e=e+f(s);

    end

    int = (dx/3) .* ((f(a)+f(b))+4 .*o + 2.*e);

    disp (['Your Simpson point estimate is: ', num2str(int)])

    return

    end

    end

    This is the code that I have. It is to use 5 different ways to approximate the calculation of an integral. It is working to do the approximations that I need to do. However, I need to calculate the error between the exact value and the approximation and plot the graph. I tried different things, but I haven't been able to get it to give me the error or the graph. I do not know what the function will be or the bounds for it because they have to be inputted by the user, so I do not have that information at the beginning. This is the last attempt that I tried but it did not work neither.


 

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!