2014-05-02 48 views
0

當我鍵入以下代碼楓葉不評估限制,但它顯然存在。爲什麼楓不評估這個限制?

> restart; 
> omega := proc (x, y) options operator, arrow; 2*[x, y, 1]/(1+x^2+y^2) end proc; 

> phi := proc (x, y) options operator, arrow; Re((lambda*(x+I*y)+a+I*b)/(1-lambda*(a-I*b)* (x+I*y))), Im((lambda*(x+I*y)+a+I*b)/(1-lambda*(a-I*b)*(x+I*y))) end proc; 

> Omega := limit(omega(phi(x/(e^2*(x^2+y^2)), y/(e^2*(x^2+y^2)))), e = 0); 

感謝您的幫助。

回答

1

您似乎試圖將各種操作映射到列表上,如您在omega正文表達式的分子中使用[x,y,1]所證明的那樣。

但是*/limit不會自動映射到列表上。

您可以通過使用expand或按元素語法*~/~或者映射*/。爲了取得極限,我使用下面的map命令。

如果您不打算將操作映射到列表上,請通過[x,y,1]解釋您的意圖。

還要注意極限e->0可以通過楓樹獲得如果各種假設是由,或某些「簡化」(由evalc,彷彿未知數是真實作用)被在調用limit完成。默認情況下,Maple會認爲e以外的變量很複雜。

restart; 

omega := (x, y) -> expand(2*[x, y, 1]/(1+x^2+y^2)): 
#omega := (x, y) -> 2*~[x, y, 1]/~(1+x^2+y^2): 

phi := (x, y) -> (Re((lambda*(x+I*y)+a+I*b)/(1-lambda*(a-I*b)*(x+I*y))), 
        Im((lambda*(x+I*y)+a+I*b)/(1-lambda*(a-I*b)*(x+I*y)))): 

expr := omega(phi(x/(e^2*(x^2+y^2)), y/(e^2*(x^2+y^2)))): 

map(limit,expr,e=0) assuming real; 

     [        /2 2\] 
     [  2 a   2 b  2 \a + b /] 
     [- -----------, - -----------, -----------] 
     [ 2 2   2 2  2 2 ] 
     [ a + b + 1 a + b + 1 a + b + 1] 

newexpr := evalc(expr): 

map(limit,newexpr,e=0); 

     [        /2 2\] 
     [  2 a   2 b  2 \a + b /] 
     [- -----------, - -----------, -----------] 
     [ 2 2   2 2  2 2 ] 
     [ a + b + 1 a + b + 1 a + b + 1] 

讓我們知道,如果你有其他的想法。

相關問題