📄 例6-6.m
字号:
clear all %初始化(给定环半径,电流,图形)
mu0=4*pi*1e-7; %真空导磁率(T*m/A)
I0=5.0;
Rh=1; %这两个常数不影响结果
C0=mu0/(4*pi)*I 0; %归并常数
NGx=21;NGy=21; %设定观测点网格数
x=linspace(-Rh,Rh,NGx); %设定观测点范围及数组
y=linspace(-Rh,Rh,NGy); %y也取[-Rh,Rh]
Nh=20; %电流环分段数
%计算每段的端点,环在x=0平面上,其坐标x1,x2均为零
theta0=linspace(0,2*pi,Nh+1); %环的圆周角分段
theta1=theta0(1:Nh);
y1=Rh*cos(theta1); %环各段向量的起点坐标y1,z1
z1=Rh*sin(theta1);
theta2=theta0(2:Nh+1); %注意theta1和theta2的差别
y2=Rh*cos(theta2); %环各段向量的终点坐标y2,z2
z2=Rh*sin(theta2);
dlx=0;dly=y2-y1;dlz=z2-z1; %计算环各段向量dl的3个长度分量
xc=0;yc=(y2+y1)/2;zc=(z2+z1)/2; %计算环各段向量中点的3个坐标分量
%循环计算各网格点上的B(x,y)值
for i=1:NGy
for j=1:NGx
%对y-z平面内的电流环分段作元素群运算,先计算算环上某段与观测点之间的向量,
rx=x(j)-xc;ry=y(i)-yc;rz=0-zc; %观测点在z=0平面上
r3=sqrt(rx.^2+ry.^2+rz.^2).^3; %计算r^3
dlXr_x=dly.*rz-dlz.*ry; %计算叉乘积dlXr的x和y分量
dlXr_y=dlz.*rx-dlx.*rz;
Bx(i,j)=sum(C0*dlXr_x./r3); %把环各段产生的磁场分量累加
By(i,j)=sum(C0*dlXr_y./r3);
end
end
Bax=Bx(:,11:21)+Bx(:,1:11); %把x<0区域内的磁场平移,叠加到x>0区域
Bay=By(:,11:21)+By(:,1:11);
subplot(1,2,1),
mesh(x(11:21),y,Bax);
xlabel('x');
ylabel('y');
subplot(1,2,2),
plot(y,Bax),grid,xlabel('y');ylabel('Bx');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -