很奇怪(我猜)integral3的行为

时间:2016-07-06 13:32:28

标签: matlab

我正在尝试使用 integral3 在Matlab中计算一个简单的三重积分。也就是说, integral

很容易计算 I = 1。但是,我将其实现为

f =@(rho, x, y) 8/pi .* rho ;
xmin =  0;
xmax = 1;
rhomin = 0;
rhomax = @(x) 2.*(1-x);
ymin = 0;
ymax = @(x,rho) sqrt(1-(x + rho/2).^2);

integral3(f, xmin, xmax, rhomin, rhomax, ymin, ymax,'Method', 'auto');

,结果为0.499999999999976。

我做错了什么?!提前谢谢。

1 个答案:

答案 0 :(得分:3)

限制的顺序必须与函数的变量输入顺序相同,只需将函数定义更改为

f =@(x, rho, y) 8/pi .* rho ;