matlab模拟带电粒子在恒定电磁场中的运动

程序模拟单个带电粒子在存在电磁场的三维空间中的运动,使用matlab实现。电磁场及粒子的位置和速度为初始参数,可以调节。程序包含两个文件。

  • velocity.m
    推进粒子的速度
function [vx,vy,vz]=velocity(vx0,vy0,vz0,Ex,Ey,Ez,Bx,By,Bz,dt,qm)
%% calculate velocity
% writen by Liangjin Song on 20190215
vnx=vx0+qm*Ex*dt/2;
vny=vy0+qm*Ey*dt/2;
vnz=vz0+qm*Ez*dt/2;

vox=vnx+(vny*Bz-vnz*By)*qm*dt/2;
voy=vny+(vnz*Bx-vnx*Bz)*qm*dt/2;
voz=vnz+(vnx*By-vny*Bx)*qm*dt/2;

B=sqrt(Bx*Bx+By*By+Bz*Bz);
k=dt/(1+(qm*B*dt/2)^2);

vpx=vnx+(voy*Bz-voz*By)*k;
vpy=vny+(voz*Bx-vox*Bz)*k;
vpz=vnz+(vox*By-voy*Bx)*k;

vx=vpx+qm*Ex*dt/2;
vy=vpy+qm*Ey*dt/2;
vz=vpz+qm*Ez*dt/2;
  • particle.m
    计算粒子位置,绘制图像
% writen by Liangjin Song on 20190215
%% parameters 
q=1; m=1;
Ex=1; Ey=0; Ez=0;
  • 13
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值