两个变量和参数列表的数值积分?
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
在 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