MATLAB:双数值积分(非常特殊的情况)

问题描述 投票:0回答:1

我需要计算一个二重积分,其中内部函数同时取决于 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:我知道这种情况可以通过纸上的简单计算来解决,但这只是一个微不足道的情况,我需要做的要复杂得多

谢谢

matlab numeric handle numerical-integration integral
1个回答
3
投票

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 )

© www.soinside.com 2019 - 2024. All rights reserved.