2015-10-28 47 views
1

我想整合p(x)* f(x)其中p(x)是一个多项式,f(x)是一个函数。我在MATLAB工作。 我有一个向量中多项式的系数。如何整合p(x)* f(x)其中p(x)是一个多项式而f(x)是一个函数? MATLAB

p=[2,3,4,5]; 
[email protected](x) xˆ2; 

我知道如何整合函数本身,以及如何整合多项式本身。但是,我无法找到关于如何获取产品的整体信息。

这里是我的尝试:

p2=poly2sym(p) 
integral(funct*p2,-1,1) 

但P2不是一个函数句柄。

帮助表示赞赏!

回答

0

是,p2不是函数手柄 - 这是一个象征性的表达,但integral执行数值集成和需要的功能句柄返回浮点值。即使p2是函数句柄,乘法函数句柄(例如,funct*p2)也是无效的。另外,funct需要被矢量化。

相反的poly2sym,您可以评估你的整体数字上polyval这样的:

p = [2,3,4,5]; 
funct = @(x)x.^2;     % use element-wise power to vectorize 
p2 = @(x)polyval(p,x); 
integral(@(x)funct(x).*p2(x),-1,1) % evaluate two handles into one 

返回4.533333333333333。或者你可以计算符号使用int这个特殊的积分:

p = [2,3,4,5]; 
syms x; 
funct = x^2; 
p2 = poly2sym(p,x); 
int(funct*p2,x,-1,1) 

返回的68/15确切的理性价值(使用vpadouble转换为十进制或浮点数,分别)。

+0

感谢您的帮助! – user3900757

相关问题