用matlab可以如下数值积分法,来求解定积分、
二重积分、三重积分的数值解问题。
1、梯形数值积分计算 trapz()
X = 0:pi/100:pi;
Y = sin(X);
Z = pi/100*trapz(Y)
2、自适应
辛普森数值积分计算 quad()
F = @(x)1./(x.^3-2*x-5);
Q = quad(F,0,2);
3、自适应Lobatto积分计算 quadl()
function y = myfun(x)
y = 1./(x.^3-2*x-5);
end
Q = quadl(@myfun,0,2);
4、自适应Gauss Kronrod quadrature积分计算 quadgk()
function y = myfun(x)
y = exp(-x.^2).*log(x).^2;
end
Q = quadgk(@myfun,0,Inf)
5、平面区域的二重积分的数值计算 quad2d()
fun = @(x,y) 1./( sqrt(x + y) .* (1 + x + y).^2 )
ymax = @(x) 1 - x
Q = quad2d(fun,0,1,0,ymax)
6、矩形区域的的二重积分数值计算 dblquad()
function z = integrnd(x, y)
z = y*sin(x)+x*cos(y);
end
Q = dblquad(@integrnd, pi, 2*pi, 0, pi)
7、三重积分数值计算 triplequad()
function f = integrnd(x, y, z)
f = y*sin(x)+z*cos(x);
end
Q = triplequad(@integrnd, 0, pi, 0, 1, -1, 1)
以上是最基本的求解数值积分方法。