matlab中函数有多个变量如何只对其中一个积分,并得到函数。

2025-03-19 13:19:00
推荐回答(1个)
回答1:

如果想做数值积分,那么“其他变量”必须赋予具体的数值,而不能用符号变量表示。

修改示例:

function f = cd(y,z)
m = @(x) ((x-1531.2)/0.2).^-8/16+0.5*((x-1531.5)/0.2).^-8/16;
n = @(x) ((x-y)/0.2).^-8/16+0.5*((x-z)/0.2).^-8/16;
l = @(x) (n(x)-m(x)).^2;
f = integral(l,0,inf);

另外,请注意,我刚刚试了一下y=1 z=1的情形,发现被积函数在x=1处发散。请务必注意给yz取合适的值,否则这会导致不可预料的积分值。