How can I graph a cylindrical magnetic dipole?

조회 수: 1 (최근 30일)
Leosdan Figueredo Noris
Leosdan Figueredo Noris 2023년 4월 26일
편집: Torsten 2023년 4월 26일
close all
clear all
clc
%-------------------------------------------------------------------------%
% INICIALIZAÇÃO
% Aqui, todas as grandezas, tamanho, cargas, etc. são definidos
%-------------------------------------------------------------------------%
% muo_0 = 4*pi*10^(-7);
% mou_r = ur
% Constante k = (mou_r*muo_0)/(4*pi) = mou_r*10^(-7)
% multiplique q*d pelo fator de ordem k*10^(-9) para m de ordem micro e nano
ur = 1;
k = ur*10^(-7)*10^(-9);
% momento magnético m = q*d
q = 1;
d = 40;
m = q*d;
% R vai ser a distância entre um ponto selecionado e a localização do
%ponto de carga com intervalos de 0 a R
R = 100;
%cria vetores igualmente espaçados x
x = linspace(-R,R,R/2);
z = x;
%cria a grade
[xx,zz] = meshgrid(x,z);
%-------------------------------------------------------------------------%
% CÁLCULO DOS CAMPOS MAGNÉTICOS %
%-------------------------------------------------------------------------%
% r = distância entre um ponto selecionado e o local da carga
rr = sqrt(xx.^2 + zz.^2);
% Bx = Componente X do Campo Magnético Bx(r) =(µ0/4pi)m*[(3xz)/r^5]
Bx = k*m .* (3.*xx.*zz)./(rr.^5);
% By = Componente Y do Campo Magnético By(r) =(µ0/4pi)m*[(3xz)/r^5]
% By = k*m .* (3.*xx.*zz)./(rr.^5);
% Bz = Componente Z do Campo Magnético Bz(r) =(µ0/4pi)m*[[(3z^2)-(r^2)]/r^5]
Bz = k*m .* (3.*zz.^2./rr.^5 - 1./rr.^3);
% B = Campo magnético total B(x,z)
B = sqrt(Bx.^2 + Bz.^2);
u = Bx./B;
v = Bz./B;
figure;
%plotagem vetorial por quiver
h = quiver(x,z,u,v);
set(h,'color','b','linewidth',1);
%stremslice graficado por streamslice
l = streamslice(x,z,u,v);
set(l,'Color','r','LineWidth',1);
axis tight
hold on
r=3;
n=10;
Z=1;
Z = Z*5;
[X,Y,Z] = cylinder(r,n); %r is radius n is number of points oyu want
[THETA,RHO,ZP] = cart2pol(X,Y,Z); %convert to polar coordinates
surfc(X,Y,Z);
axis equal
xlabel('Comprimento (mm)','fontname','Arial','fontsize',14,'color','k','fontangle',...
'normal','fontweight','demi')
ylabel(texlabel('Comprimento (mm)'),'fontname','Arial','fontsize',14,'color','k',...
'fontangle','normal','fontweight','demi')
title({'Dipolo magnético'},'fontname','Arial','fontsize',18,'color','k',...
'fontweight','bold','fontangle','normal')

답변 (0개)

카테고리

Help CenterFile Exchange에서 Interpolation에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by