【物理】带电粒子在磁场和电场中移动的 3D 轨迹研究(Matlab代码实现)
最编程
2024-01-12 22:14:01
...
figure (5) % -------------------------------------------------------------
set(gcf,'units','normalized','position',[0.36,0.1,0.3,0.3]);
xP = t; yP = ax;
plot(xP,yP,'b','LineWidth',2)
hold on
xP = t; yP = ay;
plot(xP,yP,'r','LineWidth',2)
xlabel('time t [s]');
ylabel('a [m/s^2]');
legend('a_x','a_y');
grid on
set(gca,'fontsize',14);
figure (6) % -------------------------------------------------------------
set(gcf,'units','normalized','position',[0.67,0.1,0.3,0.4]);
xP = 0; yP = 0;
plot(xP,yP,'b','LineWidth',2)
axis([0 100 0 100]);
fs = 12;
px1 = 10; py1 = 98; dpx = 5; dpy = 7; px2 = 50;
% Number of elements N
tx1 = 'Number of time steps N = ';
tx2 = num2str(N,'%4.0f\n');
tx3 = ' ';
tx = [tx1 tx2 tx3];
h_text = text(px1,py1,tx); set(h_text,'fontsize',fs);
% charge q
py1 = py1 - dpy;
tx1 = 'Charge [C] q = ';
tx2 = num2str(q,'%2.3e\n');
tx3 = ' ';
tx = [tx1 tx2 tx3];
h_text = text(px1,py1,tx); set(h_text,'fontsize',fs);
% charge m
py1 = py1 - dpy;
tx1 = 'Mass [kg] m = ';
tx2 = num2str(m,'%2.3e\n');
tx3 = ' ';
tx = [tx1 tx2 tx3];
h_text = text(px1,py1,tx); set(h_text,'fontsize',fs);
% magnetic field B
py1 = py1 - dpy;
tx1 = 'Magnetic field [T] B = ';
tx2 = num2str(B,'%2.2f\n');
tx3 = ' ';
tx = [tx1 tx2 tx3];
h_text = text(px1,py1,tx); set(h_text,'fontsize',fs);
% electric field E
py1 = py1 - dpy;
tx1 = 'Electric field [V/m] E = ';
tx2 = num2str(E,'%2.2e\n');
tx3 = ' ';
tx = [tx1 tx2 tx3];
h_text = text(px1,py1,tx); set(h_text,'fontsize',fs);
axis off
% initial positions x y z
py1 = py1 - 1*dpy;
tx1 = 'Initial values (t = 0 s) for displacement [m]';
tx2 = ' ';
tx3 = ' ';
tx = [tx1 tx2 tx3];
h_text = text(px1,py1,tx); set(h_text,'fontsize',fs);
py1 = py1 - 1*dpy;
tx1 = ' x_0 = ';
tx2 = num2str(x(1),'%2.2f\n');
tx3 = ' ';
tx = [tx1 tx2 tx3];
h_text = text(px1,py1,tx); set(h_text,'fontsize',fs);
py1 = py1 - dpy;