用Mathematica计算物理题

昨天在做电磁学题目的时候遇到几个手算比较麻烦的式子,于是改用Mathematica软件完成了计算。

在这里总结两个解决方法:

1、做近似计算,略去高阶小量

有一道题要计算 \(r \gg l\) 时的电势分布,原始的式子是(去掉了常数部分)

$$\frac{1}{{\sqrt {{l^2} + 2lr\cos (\theta ) + {r^2}} }} + \frac{1}{{\sqrt {{l^2} – 2lr\cos (\theta ) + {r^2}} }} – \frac{2}{r}$$

在Mathematica中可以用Series函数计算这个函数在 \(l=0\) 处的泰勒展开,展开到第二项就可以了。

Mathematica输入如下:

Assuming[r>0,Simplify[Series[-2/r+1/Sqrt[r^2+l^2-2r l Cos[\[Theta]]]+1/Sqrt[r^2+l^2+2 r l Cos[\[Theta]]],{l,0,2}]]]

得到的结果是:

$$\frac{{\left( {1 + 3\cos \left[ {2 \theta} \right]} \right){l^2}}}{{2{r^3}}} + O{\left[ l \right]^3}$$

第一项就是所求。

2、在极坐标系中求梯度

根据刚才算出来的电势求电场强度矢量,需要在极坐标系中求梯度。

用Mathematica的Grad函数,输入如下:

Assuming[r>0,Simplify[-Grad[((1+3 Cos[2 \[Theta]]) l^2)/(2 r^3),{r,\[Theta],\[Phi]},"Spherical"]]]

得到的结果是:

$$\left\{ {\frac{{3{l^2}\left( {1 + 3\cos \left[ {2\theta } \right]} \right)}}{{2{r^4}}},\frac{{3{l^2}\sin \left[ {2\theta } \right]}}{{{r^4}}},0} \right\}$$

这里用的是球面坐标系,所以结果的第三个分量是0,可以略去。前两个分量分别代表\(r\)方向和\(\theta\)方向的结果。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注