2014-03-28 68 views
1

我想告訴最大值有關埃爾米特多項式遞歸關係:在Maxima中,我該如何表示Hermite多項式的遞推?

我的第一個表情是這樣的:

phi[0]:exp(-1/2*x^2); 

phi[1]:sqrt(2)*x*phi[0]; 

wxplot2d([phi[0],phi[1]], [x,-5,5]); 

到目前爲止好,但我現在要定義所有其他方式:

phi[n]:sqrt(2/n)*x*phi[n-1] - sqrt((n-1)/n)*phi[n-2]; 

這只是炸彈(堆棧溢出)。我真的想說什麼,以便

wxplot2d(phi [10],[x,-5,5])會給我一個合理的圖片嗎?

回答

4

有多種方法可以解決這個問題。這是一種有效的方法。

(%i2) phi[n](x) := sqrt(2/n)*x*phi[n-1](x) - sqrt((n-1)/n)*phi[n-2](x) $ 
(%i3) phi[0] : lambda ([x], exp(-1/2*x^2)) $ 
(%i4) phi[1] : lambda ([x], sqrt(2)*x*phi[0](x)) $ 
(%i5) phi[0]; 
(%o5) lambda([x],exp((-1)/2*x^2)) 
(%i6) phi[1]; 
(%o6) lambda([x],sqrt(2)*x*phi[0](x)) 
(%i7) phi[2]; 
(%o7) lambda([x],sqrt(2)*x^2*%e^-(x^2/2)-%e^-(x^2/2)/sqrt(2)) 
(%i8) phi[3]; 
(%o8) lambda([x], 
     sqrt(2)*x*(sqrt(2)*x^2*%e^-(x^2/2)-%e^-(x^2/2)/sqrt(2))/sqrt(3) 
      -2*x*%e^-(x^2/2)/sqrt(3)) 
(%i9) phi[10]; 
     <very large expression here> 
(%i10) plot2d (%, [x, -5, 5]); 
     <nice plot appears> 

這使用了所謂的數組函數。對於任何整數n,phi[n]是一個lambda表達式(未命名函數)。

請注意,這隻適用於文字整數(例如,0,1,2,3,...)。如果您需要使用phi[n],其中n是一個符號,我們可以尋找不同的方法。

+0

謝謝羅伯特,那正是我所需要的 –

相關問題