我需要计算一个双积分,其中内部函数依赖于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:我知道这个案子可以通过对papar的简单计算来解决,但这只是一个微不足道的案例,我需要做的是更复杂的由于
答案 0 :(得分: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
有关" doc页面的更多信息" (MATLAB终端中的doc integral2
)或here
修改强> 如果你有一个积分
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 )
。