电子螺旋运动轨迹的matlab程序
[程序] Lx_1.m
%带电粒子在匀强磁场中的螺旋运动
clear %清除变量
theta=input('请输入初始角的度数:'); %键盘输入初速度方向与磁感应强度方向之间的夹角
%theta=30; %参考值
th=theta*pi/180; %化为弧度
rm=sin(th); %相对半径
n=5; %圈数
zm=cos(th)*2*pi*n; %相对高度
wt=linspace(0,2*pi,1000); %角度向量(代表时间)
figure %创建图形窗口
fs=16; %字体大小
xlabel('\itx/R\rm_0','FontSize',fs) %显示横坐标
ylabel('\ity/R\rm_0','FontSize',fs) %显示纵坐标
zlabel('\itz/R\rm_0','FontSize',fs) %显示高坐标
title('带电粒子在匀强磁场中的螺旋运动','FontSize',fs)%显示标题
box on %加方框
grid on %加网格
axis([-rm,rm,-rm,rm,0,zm]) %坐标范围
% axis([0,zm,-rm,rm,-rm,rm]) %坐标范围
text(0,0,0,'\itR\rm_0=\itmv\rm_0/\itqB','FontSize',fs)%显示半径文本
text(0,sin(th),0,['\it\theta\rm=',num2str(theta),'\circ'],'FontSize',fs)%显示初始角
hold on %保持图像
view(-20,30 )
pause %暂停
for i=1:n %按圈循环
x=-sin(th)*sin(wt); %x坐标
y=sin(th)*cos(wt); %y坐标
z=cos(th)*wt; %z坐标
comet3(x,y,z) %画螺旋上升彗星式轨迹
plot3(x,y,z,'LineWidth',2) %补画轨迹
%comet3(z,y,x) %画螺旋右行彗星式轨迹
%plot3(z,y,x,'LineWidth',2) %补画轨迹
wt=wt+2*pi; %加一圈角度
end %结束循环
磁聚焦原理的matlab程序
[程序] Cjj_1.m
%磁聚焦原理
clear %清除变量
theta=-3:0.5:3; %发散角向量的度数
th=theta*pi/180; %化为弧度
n=2; %整数(焦点或周期个数)
t=linspace(0,n); %时间向量
[TH,T]=meshgrid(th,t); %矩阵
X=tan(TH)/2/pi/n.*(cos(2*pi*T)-1); %x坐标
Y=tan(TH)/2/pi/n.*sin(2*pi*T); %y坐标
Z=T/n; %z坐标
figure %创建图形窗口
plot3(Z,X,Y,'LineWidth',2) %画轨迹
box on %加方框
grid on %加网格
view(-20,30) %设置视角
fs=16; %字体大小
title('磁聚焦原理','FontSize',fs) %显示标题
xlabel('\itz/L','FontSize',fs) %显示横坐标
ylabel('\itx/L','FontSize',fs) %显示纵坐标
zlabel('\ity/L','FontSize',fs) %显示高坐标
r=max(abs(X(:))); %圆的半径
th=(0:15:360)*pi/180; %圆的角度
x=r*cos(th); %圆的横坐标
y=r*sin(th); %圆的纵坐标
hold on %保持图像
plot3(zeros(size(x)),x,y,'--',ones(size(x)),x,y,'--','LineWidth',2)%画两个圆
plot3([zeros(size(th));ones(size(th))],[x;x],[y;y],'m')%画磁感应线
pause %暂停
view(90,0) %设置左视角
axis equal tight %使间隔相等