MATLAB 中的辛普森规则
辛普森的 1/3 规则是一种用于评估定积分的数值方法。 MATLAB 不提供使用辛普森规则查找数值积分的内置函数。但是,我们可以使用以下公式找到。
使用辛普森法则进行数值积分的公式为:
where, h = (b-a)/n
在辛普森的 1/3 规则中,我们使用曲线连续段的积分来评估定积分。与使用直线段而不是抛物线弧的梯形规则相比,它有助于我们使近似值更精确。
注意:对于辛普森的 1/3 规则,n 必须是偶数。
示例:评估在限制 4 到 5.2 内
Matlab
% MATLAB code for syms function that creates a variable
% dynamically and automatically assigns
% to a MATLAB variable with the same name
syms x
% Lower Limit
a = 4;
% Upper Limit
b = 5.2;
% Number of Segments
n = 6;
% Declare the function
f1 = log(x);
% inline creates a function of string containing in f1
f = inline(f1);
% h is the segment size
h = (b - a)/n;
% X stores the summation of first and last segment
X = f(a)+f(b);
% variables Odd and Even to store
% summation of odd and even
% terms respectively
Odd = 0;
Even = 0;
for i = 1:2:n-1
xi=a+(i*h);
Odd=Odd+f(xi);
end
for i = 2:2:n-2
xi=a+(i*h);
Even=Even+f(xi);
end
% Formula to calculate numerical integration
% using Simpsons 1/3 Rule
I = (h/3)*(X+4*Odd+2*Even);
disp('The approximation of above integral is: ');
disp(I);
输出: