1、理论基础
R是圆环的半径:
x是距离圆环中心的距离:
d
B
=
μ
0
4
π
I
c
o
s
α
d
l
r
2
dB =\frac{μ_0}{4π} \frac{I cosα dl}{r^2}
dB=4πμ0r2Icosαdl
B
=
(
μ
0
I
R
2
)
2
(
x
2
+
R
2
)
3
2
B=\frac{(μ_0 IR^2)}{2(x^2+R^2 )^{\frac{3}{2}}}
B=2(x2+R2)23(μ0IR2)
仿真载流圆线圈的磁场分布:
设场点P的位置为 ,电流元位置为 ,电流元矢量 ,由此可得场点P相对于电流的位置矢量为:
利用行列式计算Idl×r ,可写为
设载流线圈通过坐标原点垂直于x-y平面放置,电流元Idl沿z轴正向,设x= 0,则y=Rsin(θ) , z=Rcos(θ),
z
0
=
0
,
d
x
=
0
,
d
y
=
R
c
o
s
(
θ
)
d
θ
,
d
z
=
R
s
i
n
(
θ
)
d
θ
z_0=0,dx=0,dy=Rcos(θ) d_θ,dz=Rsin(θ) d_θ
z0=0,dx=0,dy=Rcos(θ)dθ,dz=Rsin(θ)dθ
即:
d
l
=
[
d
x
d
y
d
z
]
=
[
0
R
c
o
s
(
θ
)
d
θ
R
s
i
n
(
θ
)
d
θ
]
dl=[d_x d_y d_z ]=[0 Rcos(θ) d_θ Rsin(θ) d_θ ]
dl=[dxdydz]=[0Rcos(θ)dθRsin(θ)dθ]
r
=
[
x
0
−
x
,
y
0
−
y
,
z
0
−
z
]
r=[x_0-x,y_0-y, z_0-z]
r=[x0−x,y0−y,z0−z]
通过Python求叉乘
import numpy as np
import matplotlib.pyplot as plt
from pylab import meshgrid, arange, streamplot, show
import mpl_toolkits.mplot3d
from mpl_toolkits.mplot3d import Axes3D
import sympy as sym
dx, dy, dz, x0, x, y0, y, z0, z, R,theta = sym.symbols('dx, dy, dz, x0, x, y0, y, z0, z, R,theta') # 声明符号变量,否则会认为没有定义
z0=0
dx=0
x=0
y=sym.simplify(R*sym.sin(theta))
z=sym.simplify(R*sym.cos(theta))
dy=sym.diff(y,theta)
dz=sym.diff(z,theta)
dl=[dx, dy,dz]
r=[x0-x,y0-y, z0-z]
dlcr=np.cross(dl,r)
print(dlcr)
x=sym.Symbol('x')
f1=sym.sin(x)/x
f2=(1+x)**(1/x)
f3=(1+1/x)**x
#三个参数是 函数,变量,趋向值
lim1=sym.limit(f1,x,0)
lim2=sym.limit(f2,x,0)
lim3=sym.limit(f3,x,sym.oo)
print(lim1,lim2,lim3)
求矢量的叉乘积可得到:
r的大小为:
由毕奥-萨伐尔定律
d
B
⃗
=
μ
0
4
π
(
I
d
l
⃗
×
r
⃗
)
r
3
dB ⃗=\frac{μ_0}{4π} \frac{ (Idl ⃗×r ⃗)}{r^3 }
dB⃗=4πμ0r3(Idl⃗×r⃗)
有:
2、算法仿真
3、实验结果
通过编程可得到其磁感线的分布: