想当爷爷的孙子 2020-05-05 15:24 采纳率: 66.7%
浏览 304
已采纳

洛伦兹公式的数值实验,用python的jupyterbook写

python
洛伦兹公式中。

(1)只有均匀磁场情况下,粒子运动轨迹。

(2)均匀电场和磁场(二者相互垂直),粒子运动轨迹。

电场,电荷分布,初始条件等等自己定。

比如每隔0.01秒,算一次加速度,一次速度,一次坐标,计算10秒的吧
(**能明显看出粒子运动轨迹的形状**)图片说明

看不懂问题可以问问,希望帮忙写写代码,我还不会自己写代码。

  • 写回答

2条回答 默认 最新

  • 吃鸡王者 2020-05-06 14:34
    关注
    import  numpy as np
    from matplotlib import pyplot as plt
    from mpl_toolkits.mplot3d import Axes3D
    
    
    p0=np.array([0,0,0]) # 初始位置 m 
    v0=np.array([1,0,1])  #初速度    m/s
    m=1   #  粒子质量   kg
    e=np.array([0,1,0]) # 电场强度 N/c
    b=np.array([0,0,3])  # 磁感应强度 T
    q=1                 # 电荷量  C
    ts=0.01         # 步长 s
    t=10       #      总的模拟时间  s
    
    
    #  匀强电场和磁场  所以加速度和位置无关
    def step(p0,v0,e,b,q):
        global ts
    
        f=e*q+q*(np.cross(v0,b))
        a=f/m
        p=p0+v0*ts+a*ts**2/2
        v=v0+a*ts
    
        return  p,v
    
    
    res1=[]
    res1.append(p0.tolist())
    res2=[]
    res2.append(p0.tolist())
    
    p,v=p0,v0
    for i in  range(int(t/ts)):
        p,v=step(p,v,0,b,q)
        res1.append(p.tolist())
    
    res1=np.array(res1) 
    
    fig=plt.figure()
    ax1 = fig.add_subplot(121,projection='3d')
    ax1.scatter3D(res1[:,0],res1[:,1],res1[:,2])
    ax1.set_xlabel('x')
    ax1.set_ylabel('y')
    ax1.set_zlabel('z')
    ax1.set_title('1')
    
    p,v=p0,v0
    for i in  range(int(t/ts)):
        p,v=step(p,v,e,b,q)
        res2.append(p.tolist())
    res2=np.array(res2)
    ax2 = fig.add_subplot(122,projection='3d')
    ax2.scatter3D(res2[:,0],res2[:,1],res2[:,2])
    ax2.set_xlabel('x')
    ax2.set_ylabel('y')
    ax2.set_zlabel('z')
    ax2.set_title('2')
    plt.show()
    
    

    因为近视将每步长之间看成匀变速运动,所以模拟结果和理论结果又一定的偏差,但这是使用步长这种方法不可避免的,希望代码能帮助到你。
    图片说明

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 在获取boss直聘的聊天的时候只能获取到前40条聊天数据
  • ¥20 关于URL获取的参数,无法执行二选一查询
  • ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开
  • ¥15 marlin编译错误,如何解决?
  • ¥15 有偿四位数,节约算法和扫描算法
  • ¥15 VUE项目怎么运行,系统打不开
  • ¥50 pointpillars等目标检测算法怎么融合注意力机制
  • ¥20 Vs code Mac系统 PHP Debug调试环境配置
  • ¥60 大一项目课,微信小程序
  • ¥15 求视频摘要youtube和ovp数据集