有多種方法可以解決這個問題。這是一種有效的方法。
(%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
是一個符號,我們可以尋找不同的方法。
謝謝羅伯特,那正是我所需要的 –