2011-03-11 2 views
0

저는 Mathematica 프로그래밍을 시도하고 있으며 구형 극좌표를 사용하여 수동으로 수동으로 계산 한 것 (E & M 클래스의 자기장 페이저 계산)을 시도 할 것이라고 생각했습니다. 컬 내가 변수를 생성하고 그것을 가지고 시도한입니다 : 내가 생각했던 것처럼구형 극 말림 표현을 상징적으로 평가하기 위해 mathematica를 강요 하시겠습니까?

Needs["VectorAnalysis`"] 
SetCoordinates[Spherical] 
SetAttributes[ k, Constant ] 
eE := {0, 0, (Sin[Ttheta]/Rr) (1 - I/(k Rr)) e^{I k Rr}} 
Curl[ eE ] 

이 실제로에만 제공, 파생 상품을 평가하지 않습니다

   I k Rr 
       e  (-I + k Rr) Sin[Ttheta] 
\[Curl]{0, 0, {-------------------------------}} 
         2 
        k Rr 

를 기본적으로 그냥 침됩니다 내 입력을 출력으로 나에게 돌려 준다. SimplifyFullSimplify은 결과를 변경하지 않습니다.

하나는 상수로 k를 지정하지 않았기 때문에 이것이라고 생각 했으므로 (위와 같음) 추가했지만 차이는 없습니다.

답변

3

변경 e^{I k Rr}-E^(I k Rr).

  1. {}

    는 벡터를 의미하며, 티카는 모든 기능에 대한 벡터를 허용하지만, 당신이 원하는하지 않은, 벡터를 출력합니다. 예를 들어 e^{1,2,3}{e^1, e^2, e^3}이됩니다. 따라서 표현식을 작성하는 방식으로 첫 번째 목록의 위치 3에 하나의 요소 목록이 있습니다.이 목록은 Mathematica를 해제합니다.

  2. 상수 e은 Mathematica에서 E입니다.

+0

감사합니다. 나는 입력 구문이 유액 같다고 순진하게 생각했다. –

2

두가지 문제 : 비 e

먼저 티카에서 심볼 E는 지수 상수 예이다.

둘째, 당신은 내가 대신 괄호를 사용하는 의미가 생각하는 곳 (일명 List[...], {...}) 목록의 힘에 E을 제기하고 있습니다 :

In[17]:= eE:={0,0,(Sin[Ttheta]/Rr) (1-I/(k Rr)) E^(I k Rr)} 
In[18]:= Curl[eE] 

Out[18]= {(2 E^(I k Rr) (1-I/(k Rr)) Cos[Ttheta])/Rr^2, (Csc[Ttheta] 
    (-I E^(I k Rr) k (1-I/(k Rr)) Sin[Ttheta]^2-(I E^(I k Rr) 
    Sin[Ttheta]^2)/(k Rr^2)))/Rr,0} 

HTH를!

+0

이 필드를 플롯하는 가장 쉬운 방법은 무엇입니까? –

+0

['VectorPlot3D'] (http://reference.wolfram.com/mathematica/ref/VectorPlot3D.html)라고 생각하고 좌표 변경은 하나의 옵션입니다 :'k = 10; VectorPlot3D [컬 /. 스레드 {{Rr, Ttheta, Pphi} -> CoordinatesFromCartesian [{x, y, z}], {x, -1,1}, {y, -1, 1}, {z, -1, 1}] ' –

+0

매력처럼 작동합니다. 좌표를 사용하지 마십시오 ... [] 그런 식으로. 매우 유용합니다. 감사. –

관련 문제