我需要计算一个二重积分,其中内部函数同时取决于 x 和 y(我在 y 上对它进行积分,其中一个极限取决于 x),然后对 x 上的剩余部分进行积分。这是代码示例:
f1=@(x,y) x.^2+y; %inner function to be integrated on y
f2=@(x) sqrt(x).*integral(@(y)f1(x,y),x,3); %second function, to be integrated on x
V = integral(@(x)f2(x),0,2) %final calculation
由于第二个函数的形式,我认为无法使用
integral2
...
PS:我不想使用符号函数
PPS:我知道这种情况可以通过纸上的简单计算来解决,但这只是一个微不足道的情况,我需要做的要复杂得多
谢谢
Mathworks 在创建
integral2()
时就预料到了这个问题(毕竟,依赖边界并不少见),因此他们也有办法处理这种情况。我选择了另一个更容易验证的函数来处理,但我想你不会太介意。
f1=@(x,y) (x.*y)/2; %inner function to be integrated on y
fy = @(x) 3-x; % Lower bound
V = integral2(f1,0,2,fy,3) %final calculation
有关“文档页面”的更多信息(MATLAB 终端中的
doc integral2
),或此处
编辑: 如果你有一个积分作为
integral(g(x) * integral( x^2*y, y=f(x), y=y1 ), x=a, x=b)
其中
f1 = integral( x^2*y, y=f(x), y=y1 )
,您可以简化为 f2 = g(x)*f1 = integral( g(x)*x^2*y, y=f(x), y=y1 )
。