MatLab Integration Approximations for Given Function

  • Thread starter Thread starter renolovexoxo
  • Start date Start date
  • Tags Tags
    Matlab
Click For Summary
SUMMARY

The forum discussion centers on using MATLAB to approximate the integral of the function sin(x) over the interval [0, π] using Simpson's Rule. The provided MATLAB code calculates the approximation by dividing the interval into 20 segments, summing the function values at odd and even indices, and applying the formula for Simpson's Rule. The exact value of the integral is computed as -cos(π) - (-cos(0)), and the error between the approximate and exact values is displayed. The discussion highlights the importance of understanding the code structure and the mathematical principles behind numerical integration.

PREREQUISITES
  • Understanding of numerical integration techniques, specifically Simpson's Rule.
  • Familiarity with MATLAB syntax and functions.
  • Basic knowledge of calculus, particularly definite integrals.
  • Ability to interpret and manipulate MATLAB code for mathematical computations.
NEXT STEPS
  • Study the implementation of Simpson's Rule in MATLAB for various functions.
  • Learn about MATLAB's built-in functions for numerical integration, such as quad and integral.
  • Explore error analysis in numerical methods to understand approximation accuracy.
  • Practice writing MATLAB scripts for different numerical integration scenarios.
USEFUL FOR

Students in mathematics or engineering courses, MATLAB users seeking to enhance their numerical integration skills, and anyone looking to understand the application of Simpson's Rule in computational settings.

renolovexoxo
Messages
23
Reaction score
0

Homework Statement


I need to answer the attached question, but we haven't done anything similar in class and the book isn't proving to be helpful for me. I'm not sure if I have to use matlab, we were given this code but I can't even understand what it is calculating.

% f(x), the function to integrate
% f= @(x) x^4-2*x ;
% f= @(x) exp(x);
f=@(x) sin(x);
% a, the lower limit of integration
a=0 ;
% b, the upper limit of integration
b=pi ;
% b=1.0;
% n, the number of segments. Note that this number must be even.
% n=20 ;
%**********************************************************************
format long g
h=(b-a)/n ;
% Sum the odd index function values, and multiply by 4
sumOdd=0 ;
for i=1:2:n-1
sumOdd=sumOdd+f(a+i*h) ;
end
% Sum the even index function values, and multiply by 2
sumEven=0 ;
for i=2:2:n-2
sumEven=sumEven+f(a+i*h) ;
end
sum=4*sumOdd+2*sumEven+f(a)+f(b) ;
% Then multiply by h/3
approx=h/3*sum ;
%exact = quad(f,a,b) ;
%exact=exp(b)-exp(a);
exact=-cos(b)-(-cos(a));
error=abs(approx-exact);
disp(approx);
disp(exact);
disp(error);

Any help would be greatly appreciated!
 

Attachments

  • SCAN0036.jpg
    SCAN0036.jpg
    44.8 KB · Views: 607
Physics news on Phys.org
renolovexoxo said:

Homework Statement


I need to answer the attached question, but we haven't done anything similar in class and the book isn't proving to be helpful for me. I'm not sure if I have to use matlab, we were given this code but I can't even understand what it is calculating.

% f(x), the function to integrate
% f= @(x) x^4-2*x ;
% f= @(x) exp(x);
f=@(x) sin(x);
% a, the lower limit of integration
a=0 ;
% b, the upper limit of integration
b=pi ;
% b=1.0;
% n, the number of segments. Note that this number must be even.
% n=20 ;
%**********************************************************************
format long g
h=(b-a)/n ;
% Sum the odd index function values, and multiply by 4
sumOdd=0 ;
for i=1:2:n-1
sumOdd=sumOdd+f(a+i*h) ;
end
% Sum the even index function values, and multiply by 2
sumEven=0 ;
for i=2:2:n-2
sumEven=sumEven+f(a+i*h) ;
end
sum=4*sumOdd+2*sumEven+f(a)+f(b) ;
% Then multiply by h/3
approx=h/3*sum ;
%exact = quad(f,a,b) ;
%exact=exp(b)-exp(a);
exact=-cos(b)-(-cos(a));
error=abs(approx-exact);
disp(approx);
disp(exact);
disp(error);

Any help would be greatly appreciated!

It looks like a Simpson's rule approximation to the integral ##\int_0^{\pi} \sin(x) \, dx, ## using 20 equal intervals of length π/20. You are supposed also to compare the approximate and exact answers.

Note: I am not a Matlab user and so am unfamiliar with all the syntax and commands, etc., but it is more-or-less obvious what this code is attempting.

RGV
 
Thank you for the help, but you don't need to make me feel bad for not understanding something you see is obvious. I do appreciate you pointing it out to me, I was having hard time seeing if it was the composite version.
 

Similar threads

  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 14 ·
Replies
14
Views
2K
Replies
2
Views
2K
  • · Replies 11 ·
Replies
11
Views
3K
Replies
8
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 13 ·
Replies
13
Views
2K