如何在功能列表中使用integral
。下面的代码不起作用:
integral(@(v) exp(-v*[1 2 3]),0,100)
exp(-v*[1 2 3])
是函数列表。
代码位于另一个以向量[1 2 3]
作为输入的函数中。
答案 0 :(得分:1)
您需要对非标量函数使用名称 - 值对('ArrayValued',true
)(这是因为对于标量积分,函数将积分点的向量与{{1}一起传递给被积函数为了速度)。
bsxfun
我还注意到>> integral(@(v) exp(-v*[1 2 3]),0,100,'ArrayValued',true)
ans =
1.0000 0.5000 0.3333
可以处理integral
作为上限,如果这是Inf
的近似值:
100
虽然输出看起来很相似,但这个输出精确到机器精度。