%% 竖直 方向的电场E=3N/C,垂直运动平面的均匀磁场,质量为m=0.2KG,电荷量Q=2C正电荷
% 不考虑重力,初速度v0=5,夹角theta0=90
% 电场力:F_E=Q*E
% 洛伦磁力: F_L=B*V*Q
clear; clc;
%close all
%% 参数设置
m = 8; % 质量 (kg)
v0 = 15; % 初始速度大小 (m/s)
B=1 % 单位(T)
Q=2; % 2C+
E=3; % 3N/C
theta0 = pi *1/2; % 初始速度方向 (弧度,0表示+x方向)
t_total = 100; % 总时间 (s)
dt = 0.0001; % 时间步长 (s)
n_steps = round(t_total / dt);
x=[]
y=[]
vx=[]
vy=[]
ax=[]
ay=[]
x(1)=0;
y(1)=0;
vx(1)=v0*cos(theta0);
vy(1)=v0*sin(theta0);
ax(1)=0;
ay(1)=0;
ay_E= - (Q*E/m);%电场力产生的加速度整个过程恒定不变
F_L=v0*B*Q;
% 数值积分
for i = 1:n_steps-1
%% 计算洛伦磁力在x,y方向上产生的加速度
% 当前速度大小和方向
v = sqrt(vx(i)^2 + vy(i)^2);
F_L=v*B*Q;
% 计算垂直于速度方向的单位向量
% 垂直于(vx, vy)的向量可以是(-vy, vx)或(vy, -vx)
% 这里选择使质点顺时针旋转的方向
nx = -vy(i) / v;
ny = vx(i) / v;
% 计算加速度(力垂直于速度)
ax_L = (F_L / m) * nx;
ay_L = (F_L / m) * ny;
ax(i+1)= ax_L;
ay(i+1)= ay_E + ay_L;
% 更新速度和位置
vx(i+1) = vx(i) + ax(i) * dt;
vy(i+1) = vy(i) + ay(i) * dt;
x(i+1) = x(i) + vx(i) * dt;
y(i+1) = y(i) + vy(i) * dt;
end
figure;
hold on;
grid on;
axis equal;
plot(x, y, 'b-', 'LineWidth', 1);