关于匿名函数的Matlab操作

时间:2016-06-19 18:34:07

标签: matlab

我有两个匿名函数f和g,我需要使用四元函数计算f * g上的积分。

我尝试了以下无法解决的问题:

h=@(x)(f(x)*g(x))
quad(h,-1,1);

有没有办法让这项工作?

1 个答案:

答案 0 :(得分:3)

简短回答

这取决于fg的定义方式,但您可能只需要添加一个点:

h = @(x) f(x).*g(x);

答案很长

根据quad's documentation

  

Q = quad(FUN,A,B)

     

[...]函数Y = FUN(X)应接受向量参数X并返回向量结果Y,在X的每个元素处计算被积函数。

假设fg已满足此要求,h应定义为.*element-wise multiplication),以便它也能满足此要求。< / p>

示例:

>> f = @(x) x;
>> g = @(x) x.^2;
>> h = @(x) f(x).*g(x);
>> quad(h, 0, 1)
ans =
   0.250000000000000