Clear Filters
Clear Filters

How can I graph a cylindrical magnetic dipole?

1 view (last 30 days)
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')

Answers (0)

Categories

Find more on MATLAB in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!