今天在做带电粒子在电磁场中运动的 3D 仿真模拟时,遇到了一个极其诡异的 Bug。

1. 系统架构图

这是我搭建的系统初步模型:

2. 核心代码实现

最后发现是矩阵维度没有对齐,修改后的 MATLAB 核心代码如下:

% 修正后的带电粒子受力计算
q = 1.6e-19; 
v = [1000, 0, 0]; 
B = [0, 0, 1]; 
F = q * cross(v, B); % 计算洛伦兹力
disp('计算完成,准备推石头上山!');