是否可以整合载体产品?例如:
integral(@(x) [x,1]*[x;1],0,1)
integral(@(x) dot([x;1],[x,1]),0,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)
这样的向量输入,以便一次获得多个值