两个变量和参数列表的数值积分?

Numeric integration for two variables and a list of parameters?

在 MATLAB 文档中,他们有一个带有一个参数 c 的单个变量的数值积分示例:

fun = @(x,c) 1./(x.^3-2*x-c);
q = integral(@(x)fun(x,5),0,2)

如果我想对两个变量和两个参数进行数值积分怎么办?

如果要对两个变量进行积分,则需要使用 integral2

一个有两个变量的例子:

fun = @(x,y) 1./( sqrt(x + y) .* (1 + x + y).^2 );
ymax = @(x) 1 - x;
q = integral2(fun,0,1,0,ymax)

q =
    0.2854

如果你想要几个参数,两个变量做:

fun = @(x,y,c,d) c./(sqrt(x + d*y) .* (1 + x + y).^2);
ymax = @(x) 1 - x;
q = integral2(@(x,y) fun(x,y,3,4),0,1,0,ymax)

q =
0.5708

或者简单地说:

c = 3; d = 4;
fun = @(x,y) c./( sqrt(x + d*y) .* (1 + x + y).^2 )
ymax = @(x) 1 - x;
q = integral2(fun,0,1,0,ymax)

q = 
    0.5708