2015-10-28 68 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

相關問題