⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 例6-6.m

📁 这是一个MATLAB7.0基础与提高例题的所有源码
💻 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 + -