APP下载

基于MATLAB GUI的电流环磁场分布模拟

2015-01-16云南师范大学物理与电子信息学院李小志

电子世界 2015年24期
关键词:磁感线磁场平面

云南师范大学物理与电子信息学院 李小志 王 静

基于MATLAB GUI的电流环磁场分布模拟

云南师范大学物理与电子信息学院 李小志 王 静

利用MATLAB软件的GUI设计功能建立用户界面,模拟电流环的磁场及磁感线分布,可应用于课堂的辅助教学。

电流环;磁场;MATLAB GUI

环电流的磁场分布是电磁学中的一个重要课题。目前,国内外很多学者对电流环的磁场分布作了大量的相关研究。郭志勇,刘得军在文献[1]《一种圆环电流空间磁场数值计算方法》中提到圆环电流是最基本的理论磁体单元。介绍了利用“割圆法”的思想,从毕奥—萨伐尔定律出发,推导了一种简单的圆环电流周围空间任意点磁感应强度数值计算方法。孙爱良在文献[2]《环形电流平面内的磁场》中应用矢量方法并将数学中的椭圆积分应用于计算中,给出了环形电流平面内任意一点的磁感应强度计算公式,更全面地讨论了电流环的磁场在电流环平面上的磁场分布。张星辉在文献[3]《圆电流磁感线的分布及磁感应强度的函数表达式》一文中从矢量的角度对电流环在空间上任一一点的磁感线进行了严格的计算分析,并利用MATLAB软件将电流环在空间上的磁感线分布图形象的显示出来但绘制的磁感线分布图为二维图像用户无法设置参数设,不便于直观比较不同参数下,电流环的磁场分布情况。

本文利用毕奥—萨伐尔定律讨论圆环电流所产生的磁场分布情况,利用MATLAB软件计算其数值解[4],并利用MATLAB软件的GUI功能设计一交互式的用户界面,用户可以设定参数值,实时得到电流环的磁场分布和磁感线分布图像。

1 电流环磁场分布分析

图1

y如图1所示,根据毕奥—萨伐尔定律,以表示恒定电流的一电流元,在P点处产生的磁场:

根据以上三式得:

将(4)式和(5)式代入毕奥-萨伐尔定律,得:

即有:

将上式沿着x轴,y轴,z轴三个方向分解,并进行积分,得:

由对称性可知,只要求得xoz平面上的磁场,则整个空间的磁场可知。因此当P点在x-z平面上时有y=0,此时P点的坐标为(x,0,z)的计算结果具有普遍意义。

将P点的坐标带入以上各式,得:

2 MATLAB积分运算与GUI界面设计

MATLAB软件具有强大的数值计算、仿真和可视化功能。对于(9)、(10)、(11)式的积分,可利用MATLAB的符号积分工具编程得到结果。在此基础上,利用MATLAB的GUI功能编写一参数可调的交互式用户平台。用户任意输入参数,该平台即可得到该参数条件下的环形电流在空间中的磁场分布和磁感线分布图像,计算结果直观、生动。

图2 电流环的磁场分布设计界面

2.1 界面设计

GUI界面设计窗口由菜单栏、工具栏、控件工具栏及图形对象设计区等部分组成。通过对这些环节编写相应的回调函数代码,设计出用户需要的GUI交互环境[5]。电流环磁场分布模拟的MATLAB GUI界面设计如图2所示。

它包括:(1)建立1主面板;(2)建立一个坐标轴对象,设置属性为axes1.用于显示磁场分布或磁感应强度的分布情况;(3)建立2个单选按钮,提供满足操作者不同视角观察需求;(4)建立2个按钮,用于重置参数和绘制目标图像;(5)建立5个文本标签,其中一个文本标签标明实验主题,其余4个分别标注环半径、环电流及其相应的单位;(6)建立3个文本框,其中2个用于分别输入不同的参数,1个根据坐标轴对象标注相应的名称;(7)建立一个下拉列表框,用户通过选择下拉列表框的项目运行所需要的模拟图像;(8)建立两个菜单项,分别提示是否退出界面和实验原理

本例设计的电流环磁场分布的模拟界面如图2所示。

2.2 回调函数编写

在gui设计中,通过回调函数的编写来实现控件功能的实现。对于本例,回调程序的程序代码如下:

axes(handles.axes1);

cla;

popup_sel_index = get(handles.listbox1,’Value’);

I=str2double(get(handles.edit2,’String’));

R=str2double(get(handles.edit1,’String’));

switch popup_sel_index

case 1 %绘制磁场分布图像

mu0=4*pi*1e-7;

c0=mu0/(4*pi)*I;

N=100;

x=linspace(-3,3,N);y=x;

thta0=linspace(0,2*pi,N+1);

thta1=thta0(1:N);

y1=R*cos(thta1);

z1=R*sin(thta1);

thta2=thta0(2:N+1);

y2=R*cos(thta2);

z2=R*sin(thta2);

xc=0;yc=(y2+y1)/2;zc=(z2+z1)/2;

dlx=0;dly=y2-y1;dlz=z2-z1;

NGx=N;NGy=NGx;

for i=1:NGy

for j=1:NGx

rx=x(j)-xc;ry=y(i)-yc;rz=0-zc;

r3=sqrt(rx.^2+ry.^2+rz.^2).^3;

dlxr_x=dly.*rz-dlz.*ry;

dlxr_y=dly.*rx-dlx.*rz;

Bx(i,j)=sum(c0*dlxr_x./r3);

Bz(i,j)=sum(c0*dlxr_y./r3);

B=(Bx.^2+Bz.^2).^0.5;

end

end

surf(x,y,B);

shading interp

grid on

case 2 %绘制磁感线分布图像

用户可以输入不同的环半径和环电流的值,绘制相应的电流环磁场分布图像和磁感线分布图像。例如当用户设置环半径为1m,环电流为200A时,点击绘制图像按钮,得到以下如图3和图4所示的两个图像。

图3 电流环y=0处x-z平面上的磁感强度分布

图4 电流环y=0处x-z平面上的磁感线分布布

观察以上图像,可以直观地看出,通电电流环的磁场分布关于环对称。在附近小范围内的磁场强,越往周边扩展,磁场衰减得非常快,其他区域的磁感强度较弱,电流环的磁感线分布也关于环对称,并且越靠近原点,磁感线分布越密集。

3 结论

在利用毕奥—萨伐尔定律对电流环产生的磁场进行分析的基础上,利用MATLAB软件强大的积分运算功能得到磁场分布,再利用 GUI功能设计一交互式的用户界面。用户可以任意输入参数并选择观察视角,实时观察电流环的磁感强度分布和磁感线分布,节省了大量的计算时间,并能形象、直观得观察磁场分布,是对课堂教学的有效辅助。

[1]郭智勇,刘得军.一种圆环电流空间磁场数值计算方法[J].科学与技术工程,2013(29):8715-8720.

[2]孙爱良.环形电流平面内磁场[J].兰州铁道学院学报,1999(1):101-104.

[3]张星辉.圆电流磁感线的分布及磁感应强度的函数表达式[J].大学物理,2006(1):32-37.

[4]高翠云,汪莉丽.利用MATLAB进行电磁学计算及可视化教学[J].孝感学院学报,2006:28-30.

[5]陈垚光.精通MATLAB GUI设计[M].北京:电子工业出版社,2011:182.

李小志(1993—),女,云南师范大学物理与电子信息学院2011级本科生,物理教育专业。

王静(1979—),女,硕士,云南师范大学物理与电子信息学院讲师,主要从事物理教育研究。

猜你喜欢

磁感线磁场平面
西安的“磁场”
为什么地球有磁场呢
渗透物理学史 促进科学思维发展——以“磁场 磁感线”教学为例
立体几何基础训练A卷参考答案
磁场的性质和描述检测题
参考答案
关于有限域上的平面映射
2016年春季性感磁场
平面和立体等
用好磁感线,解决问题一大片