2013-04-18 38 views
0

表面我有以下功能,這是有點複雜:無法繪製定義隱含

X1=Function[{r,\[Theta],l},4Re[(N[Integrate[E^(-(r^2+R^2)+2 I R l/r) (r+I R)^(2 l) 
(LaguerreL[1/2 (-l+n),l,(r^2+R^2)])^2 ,{R,-\[Infinity],\[Infinity]}]])]]; 

其中函數是的2θ恆定,該函數定義了表面 (或多或少的圓柱形)通過等式X1(r,Θ,l)= 0.08,假設。

問題是,我無法得出它既不用下面的命令: ContourPlot3D,數學的ListContourPlot3D,在MATLAB我無法處理拉蓋爾廣義多項式繪製等值面:_(

+0

這可能會幫助你拉蓋爾:http://www.mathworks.nl/matlabcentral/fileexchange/15916-generalized-laguerre-polynomial –

+0

_n_採取什麼值? – SEngstrom

回答

0

假設ñ定義了你的拉蓋爾多項式的順序和- [R是3維向量的長度(X,Y,Z)我得到等高線圖從方程。

爲了使計算一個我定義了更有效率的y我們整體的備忘錄功能:

fx1nl[n_, l_] := 
fx1nl[n, l] = 
    4 Re[(N[Integrate[ 
     E^(-(r^2 + R^2) + 2 I R l/r) (r + I R)^(2 l) (LaguerreL[ 
      1/2 (-l + n), 
      l, (r^2 + R^2)])^2, {R, -\[Infinity], \[Infinity]}]])] 

(我不知道如何把依賴[R在定義,以便有下面的技巧,而不是:

fx1[rp_, n_, l_] := fx1nl[n, l] /. r -> rp 

然後你可以去提前與

ContourPlot3D [ FX1 [的Sqrt [X^2 + Y^2 + Z^2],1,1] == 0.08,{X,0,1},{Y,0,1}, {z, 0,1}]

0123例如

...。

我運氣不好評價爲ñ的其他值的功能,所以也許你需要纔去那裏工作的積分了。