MATLAB-磁偶极子的空间磁场强度仿真
% 定义圆形回路的半径和电流
radius = 1.0; % 回路半径
current = 1.0; % 电流
% 创建网格点并计算磁场
[X, Y, Z] = meshgrid(-2:0.5:2, -2:0.5:2, -2:0.5:2);
Bx = zeros(size(X));
By = zeros(size(Y));
Bz = zeros(size(Z));
for i = 1:numel(X)
position = [X(i), Y(i), Z(i)];
B = magneticField(position, radius, current);
Bx(i) = B(1);
By(i) = B(2);
Bz(i) = B(3);
end
% 绘制3D磁场矢量场图像
figure;
quiver3(X, Y, Z, Bx, By, Bz, 'b');
hold on;
% 绘制圆形电流路径
t = linspace(0, 2*pi, 100);
x_circle = radius * cos(t);
y_circle = radius * sin(t);
z_circle = zeros(size(t));
plot3(x_circle, y_circle, z_circle, 'r', 'LineWidth', 2);
% 标记电流的绕向箭头
arrow_start = [0, 0, 0];
arrow_end = [radius, 0, 0];
quiver3(arrow_start(1), arrow_start(2), arrow_start(3), ...
arrow_end(1), arrow_end(2), arrow_end(3), ...
'magenta', 'LineWidth', 2);
% 添加坐标轴标签和标题
xlabel('X');
ylabel('Y');
zlabel('Z');
title('磁偶极子的空间磁场强度');
hold off;
% 定义计算磁场的函数
function B = magneticField(position, radius, current)
u0 = 4*pi*1e-7; % 真空中的磁导率
xishu = u0 / (4 * pi);
x = position(1);
y = position(2);
z = position(3);
r = position;
r_mod = sqrt(x^2 + y^2 + z^2);
pm = current * pi * radius^2 * [0, 0, 1]; % 磁矩
% 计算磁场
dot_product = dot(r, pm);
B = xishu .* (-pm / r_mod^3 + 3 * dot_product * r / r_mod^5);
end