欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 会展 > MATLAB-磁偶极子的空间磁场强度仿真

MATLAB-磁偶极子的空间磁场强度仿真

2025/10/18 19:23:29 来源:https://blog.csdn.net/lulinhao/article/details/148588998  浏览:    关键词: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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词