Using MatLab software Calculate the area under the curve of

Using MatLab software

Calculate the area under the curve of function f(x)=1/x^2 using the right end rule.

The right end rule is

Rn = h *summation of( f(a + ih)) from i=1 to n

where n=5,9,11, and 20

a=2 and b=8

and h=(b-a)/n

I really need your guidance on this one. We need to write a script to calculate the area

Solution

function area = approx_integral( f, a, b, rule, n )

% Check a and b.
if a > b
    error(\'a must be less than b.\');
end

% Make sure f is a function or a string.
if ~isa(f,\'function_handle\') && ~isa(f,\'char\')
    error(\'f must be a function handle or string to evalulate.\');
end

% See if we are using the composite version (if it applies).
using_composite = 0;
if (nargin > 4)
    if n > 2
        using_composite = 1;
    else
        error(\'Invalid number of subintervals.\');
    end
end

% Approximate area.
area = 0;
if strcmpi(rule,\'trap\')
  
    % trapezoidal rule %%%%%%%%%
    if ~using_composite
        h = b - a;
        if isa(f,\'function_handle\')
            w1 = f(a);
            w2 = f(b);
        else
            x = a;
            w1 = eval(f);
            x = b;
            w2 = eval(f);
        end
        area = area + (h/2)*(w1 + w2);
      
    else % using composite rule
        h = (b-a)/n;
        if isa(f,\'function_handle\')
            % Eval endpoints
            w_0 = f(a);
            w_n = f(b);
          
            % Eval midpoints
            w_mid = 0;
            for ii = 1:(n-1)
                w_mid = w_mid + 2*f(a+ii*h);
            end
          
        else % string
            % Eval endpoints
            x = a; w_0 = eval(f);
            x = b; w_n = eval(f);
          
            % Eval midpoints
            w_mid = 0;
            for ii = 1:(n-1)
                x = a+ii*h;
                w_mid = w_mid + 2*eval(f);
            end
        end
                  
        % Compute area
        area = (h/2)*(w_0 + w_mid + w_n);
    end

elseif strcmpi(rule,\'simp1/3\')
  
    % Simpson\'s 1/3 rule %%%%%%%%%%%
  
    if ~using_composite
        h = (b-a)/2;
        if isa(f,\'function_handle\')
            w1 = f(a);
            w2 = f((a+b)/2);
            w3 = f(b);
        else
            x = a;
            w1 = eval(f);
            x = (a+b)/2;
            w2 = eval(f);
            x = b;
            w3 = eval(f);
        end
        area = (h/3)*(w1 + 4*w2 + w3);
      
    else % using composite rule
        h = (b-a)/n;
        if isa(f,\'function_handle\')
            % Eval endpoints
            w_0 = f(a); w_n = f(b);
          
            % Eval midpoints
            w_mid = 0;
            for ii = 1:(n-1)
                x = a + ii*h;
                if mod(ii,2) == 1 % odd
                    coef = 4;
                else
                    coef = 2;
                end
                w_mid = w_mid + coef*f(x);
            end

        else % string
            % Eval endpoints
            x = a;
            w_0 = eval(f);
            x = b;
            w_n = eval(f);
          
            % Eval midpoints
            w_mid = 0;
            for ii = 1:(n-1)
                if mod(ii,2) == 1 % odd
                    coef = 4;
                else
                    coef = 2;
                end
                x = a + ii*h;
                w_mid = w_mid + coef*eval(f);
            end
        end
      
        % Compute area
        area = (h/3)*(w_0 + w_mid + w_n);
      
    end % if
  
elseif strcmpi(rule,\'simp3/8\')
  
    % Simpson\'s 3/8 rule %%%%%%%%%%%
  
    h = (b-a)/3;
    if isa(f,\'function_handle\')
        w1 = f(a);
        w2 = f((2*a+b)/3);
        w3 = f((a+2*b)/3);
        w4 = f(b);
    else
        x = a;
        w1 = eval(f);
        x = (2*a+b)/3;
        w2 = eval(f);
        x = (a+2*b)/3;
        w3 = eval(f);
        x = b;
        w4 = eval(f);
    end
    area = 3*(h/8)*(w1 + 3*w2 + 3*w3 + w4);
  
elseif strcmpi(rule,\'mid\')
  
    % Midpoint rule %%%%%%%%%%
  
    h = b - a;
    if isa(f,\'function_handle\')
        area = h*f((a+b)/2);
    else
        x = (a+b)/2;
        area = h*eval(f);
    end
  
else
    error(\'Not a valid rule. Type \'\'help approx_integral\'\' %s\', ...
        \'to see rule choices.\');
    
end % if

end % function

Using MatLab software Calculate the area under the curve of function f(x)=1/x^2 using the right end rule. The right end rule is Rn = h *summation of( f(a + ih))
Using MatLab software Calculate the area under the curve of function f(x)=1/x^2 using the right end rule. The right end rule is Rn = h *summation of( f(a + ih))
Using MatLab software Calculate the area under the curve of function f(x)=1/x^2 using the right end rule. The right end rule is Rn = h *summation of( f(a + ih))
Using MatLab software Calculate the area under the curve of function f(x)=1/x^2 using the right end rule. The right end rule is Rn = h *summation of( f(a + ih))

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site