Simpson's Rule Integration

Computes an integral "I" via Simpson's rule in the interval [a,b] with n+1 equally spaced points
ダウンロード: 15.8K
更新 2011/4/29

ライセンスの表示

This function computes the integral "I" via Simpson's rule in the interval [a,b] with n+1 equally spaced points

Syntax: I = simpsons(f,a,b,n)

Where,
f= can either be an anonymous function (e.g. f=@(x) sin(x)) or a vector containing equally spaced values of the function to be integrated
a= Initial point of interval
b= Last point of interval
n= # of sub-intervals (panels), must be integer

Written by Juan Camilo Medina - The University of Notre Dame
09/2010 (copyright Dr. Simpson)

Example 1:

Suppose you want to integrate a function f(x) in the interval [-1,1].
You also want 3 integration points (2 panels) evenly distributed through the
domain (you can select more point for better accuracy).
Thus:
f=@(x) ((x-1).*x./2).*((x-1).*x./2);
I=simpsons(f,-1,1,2)

Example 2:

Suppose you want to integrate a function f(x) in the interval [-1,1].
You know some values of the function f(x) between the given interval,
those are fi= {1,0.518,0.230,0.078,0.014,0,0.006,0.014,0.014,0.006,0}
Thus:
fi= [1 0.518 0.230 0.078 0.014 0 0.006 0.014 0.014 0.006 0];
I=simpsons(fi,-1,1,[])
note that there is no need to provide the number of intervals (panels) "n",
since they are implicitly specified by the number of elements in the vector fi

引用

Juan Camilo Medina (2024). Simpson's Rule Integration (https://www.mathworks.com/matlabcentral/fileexchange/28726-simpson-s-rule-integration), MATLAB Central File Exchange. に取得済み.

MATLAB リリースの互換性
作成: R2010a
すべてのリリースと互換性あり
プラットフォームの互換性
Windows macOS Linux
カテゴリ
Help Center および MATLAB AnswersNumerical Integration and Differential Equations についてさらに検索
謝辞

ヒントを与えたファイル: simpsonQuadrature, Simpson's 1/3 and 3/8 rules

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
バージョン 公開済み リリース ノート
1.6.0.0

.

1.5.0.0

Added an extension to handle vectors as well and anonymous function.

1.4.0.0

I added an example

1.3.0.0

.

1.2.0.0

.

1.1.0.0

n/a

1.0.0.0