我正在尝试 Mathematica 编程,并且认为我尝试使用球形极坐标手动手动计算(来自E& M类的磁场相量计算)。我已经创建了一个变量并试图将其变为卷曲:
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
基本上,它只是将我的输入吐出来作为输出。 Simplify
和FullSimplify
不会更改结果。
我猜的是,这是因为我没有将k指定为常数,所以我添加了(如上所述),但这并没有什么区别。
答案 0 :(得分:3)
将e^{I k Rr}
更改为E^(I k Rr)
。
{}
表示向量,Mathematica接受其所有函数的向量,但输出的向量不是您想要的。例如,e^{1,2,3}
变为{e^1, e^2, e^3}
。因此,您编写表达式的方式是在第一个列表的第三个位置有一个元素列表,这会将Mathematica关闭。
Mathematica中的常量 e 为E
。
答案 1 :(得分:2)
两个问题:
首先,在Mathematica中,符号E
,而不是e
,是指数常量 e 。
其次,你将E
提升到列表({...}
,又名List[...]
)的力量,我认为你的意思是使用parens:
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!