在Matlab中集成矢量的乘积

时间:2015-10-12 11:44:52

标签: matlab integration

我正在尝试集成一个涉及向量乘法的函数。但是我不断收到错误。

假设 alphas 是一些向量。 并考虑以下代码:

g = @(x)prod(x.*alphas);
integral(g,-10,10);

这会产生以下错误:

  

使用。*

时出错      

矩阵尺寸必须达成一致。

     

@(x)prod(x。* alphas)中的错误

现在,从天真的角度来看。 g 是一个标量函数。如果 x 是某个数字,那么 g(x)也是一个数字。

我对Matlab很新,我不太明白这个问题。 任何帮助都会有所帮助。 谢谢。

1 个答案:

答案 0 :(得分:2)

如果alphas是向量,则每个x都应该有一个值。当您为integral()提供要集成的函数时,它会尝试将函数g评估为g(-10:0.1:10)。如果不存在与x相同数量的alpha,则会抛出该错误。

此处使用integral()的问题是,您无法控制xg integral的数量,因此,您无法定义{ {1}}如果你想整合你的方式。

编辑:以下将完成这项工作!谢谢@Andras Deak

g