Matlab:集成点积

时间:2014-02-04 20:36:30

标签: matlab integral

是否可以整合载体产品?例如:

integral(@(x) [x,1]*[x;1],0,1)
integral(@(x) dot([x;1],[x,1]),0,1)

1 个答案:

答案 0 :(得分:2)

问题是matlab如何调用你的函数。内部类似于fkt(0:.1:1)被调用,这对于你的函数是不可能的。您可以将函数包装到arrayfun中以获得积分:

fkt=@(x) dot([x;1],[x,1])
afkt=@(a)arrayfun(fkt,a)
integral(afkt,0,1)

虽然fkt和afkt为标量返回相同的内容(例如fkt(.3) afkt(.3)),但函数afkt可以处理像afkt(0:.1:1)这样的向量输入,以便一次获得多个值