Effacer les filtres
Effacer les filtres

How can I graph a cylindrical magnetic dipole?

1 vue (au cours des 30 derniers jours)
Leosdan Figueredo Noris
Leosdan Figueredo Noris le 26 Avr 2023
Modifié(e) : Torsten le 26 Avr 2023
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')

Réponses (0)

Catégories

En savoir plus sur MATLAB dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by