《测控技术与仪器课程设计-电流环磁场的分布.doc》由会员分享,可在线阅读,更多相关《测控技术与仪器课程设计-电流环磁场的分布.doc(16页珍藏版)》请在金锄头文库上搜索。
1、测试与光电工程学院课程设计任务书 测控技术与仪器 系 090812 班 学号 09081209 姓名 王若珏 课题名称: 电流环磁场的分布 课题要求:1. 建立电流环磁场模型2. 掌握图形的绘制3. 编写图形显示界面4. 显示电流环磁场分布图课题进程:第一周:确定使用哪种计算机语言编程; 编写主要功能。第二周:程序的完善、运行与调试;撰写课程设计报告。 指导教师: 袁丽华 第13页(共13页)【摘要】 MATLAB是由美国MathWorks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成
2、在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 本课程设计根据毕奥一萨伐尔定律推导出圆环电流磁场分布的积分表示,利用MATLAB的符号积分得出计算结果,并绘制磁场分布曲线。并通过GUI制作可交互式界面进行仿真与演示。本课程设计选用MATLAB R2008a软件。 关键词: 圆环电流;磁场;MATLAB;符号积分;GUI 目录一 引言11.1 课题简介11.2 课题制作要点11.3 MATLAB软件1二 理论分析2
3、2.1 毕奥一萨伐尔定律22.2 电流元在圆环外的磁场22.3 电流元在圆环内的磁场32.4 距离圆心z处的磁感应强度3三 程序设计43.1 GUI界面设计43.1.1 创建GUI文件43.1.2 GUI布局与控件设计43.1.3 GUI菜单栏设计63.2 功能实现63.2.1 菜单功能63.2.2 绘图设置相关控件功能实现7四 GUI运行效果114.1 GUI初始化效果114.2 菜单栏效果114.3 绘图效果12五 心得体会 13六 参考文献13一 引言1.1 课题简介圆电流是一个经典的物理模型。对圆电流内磁场分布特性的研究,在宏观上可以改善线圈绕组在电机中的应用。微观上。可以给分子电流提
4、供理论基础,对进一步研究磁介质的磁性特征也有重要参考价值。本课题主要着重于对电流环磁场进行建模与仿真,根据毕奥一萨伐尔定律通过设定电流环半径、电流强度,模拟不同情况下磁场与磁感线的分布情况,并绘制成图像。 1.2 课题制作要点 电流环磁场参数的设定 电流环磁场的建模与仿真 可交互式GUI界面的设计1.3 MATLAB软件简介MATLAB是由美国MathWorks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科
5、学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。MATLAB是一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。MATLAB是一个包含大量计算算法的集合。其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。函数中所使用
6、的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。在通常情况下,可以用它来代替底层编程语言,如C和C+ 。在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能而且对于一些其他软件所没有的功能,MATLAB同样表现了出色的处理能力。同时对一些特殊的可视化要求,另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求
7、的用户也可以得到满足。 二 理论分析2.1 毕奥一萨伐尔定律毕奥一萨伐尔定律是以实验为基础经过科学抽象而得到的,描述的是电流元在空间任一点产生的磁感应强度。原则上利用毕奥一萨伐尔定律并结合磁感应强度叠加原理,可以计算任意形状的电流所产生的磁场。 毕奥萨伐尔定律指出:载流导线上的电流元在真空中某点P的磁感度dB的大小与电流元的大小成正比,与电流元和从电流元到P点的位矢r之间的夹角 的正弦成正比,与位矢r的大小的平方成反比,即: 上式中,为位矢的单位矢量。此即毕奥萨伐尔定律的公式表述。2.2 电流元在圆环外的磁场 图1 电流元在电流环外的磁场如图1所示,根据毕奥一萨伐尔定律,任一电流元在P点产生的
8、磁感应强度 ,考虑到,, 有(1)。2.3 电流元在圆环内的磁场 图2 电流元在电流环内的磁场 如图2所示,电流元在P点所产生的磁感应强度,即(2)。2.4 距离圆心z处的磁感应强度比较电流元在圆环内、外的磁场表达式,两式仅相差一个负号。该负号体现了两种情况下磁场方向正好相反。若规定垂直纸面向外为磁感应强度的正方向,则电流元在圆环内、外产生的磁感应强度可统一表示为( 2 )式的形式。结合磁感应强度叠加原理,整个圆环电流在距圆心处产生的磁感应强度为: 三 程序设计3.1 GUI界面设计3.1.1 创建GUI文件打开MATLAB软件后,点击菜单栏中的“GUIDE”按钮,进入“GUIDE quick
9、 start”,选择“Create New GUI”选项卡,选择“Blank GUI(default)”创建一空白GUI文档。并命名为“cichang1.fig”如图3所示。图3 创建一空白GUI3.1.2 GUI布局与控件设计 GUI布局如图4,所用控件罗列于表1。图4 GUI布局控件名称控件属性控件用途FontSizeString(Title)TagPanel15绘图设置uipanel4放置绘图设置的其他控件Panel15视角切换uipanel3放置用于视角切换的控件Axesaxes1显示磁场及磁感线分布图像Static Text25带电电流环周围空间的磁场分布text1标题Static
10、Text15电流值text3显示Static Text15Atext4电流值单位Static Text15环半径text5显示Static Text15mtext6环半径单位Listbox15电流环的磁场分布图;电流环的磁感线分布图listbox1选择绘图类型Push Button15绘制图像pushbutton2绘制图像Push Button15重置参数pushbutton7重置参数Edit Text15edit3设置电流参数值Edit Text15edit4设置环半径数值Edit Text15测试图edit1显示图像名称Radio Button12自由视角radiobutton1开启三维图
11、像自由视角Radio Button12锁定视角radiobutton1关闭三维图像自由视角表1 所用控件3.1.3 GUI菜单栏设计为使用户获得更方便的使用体验,故增加菜单栏。点击“Menu Editor”进行制作。如图5。图5 菜单栏编辑3.2 功能实现GUI界面设计过后,对相关控件的“View Callbacks”中的函数进行编辑,以实现既定功能。3.2.1 菜单功能(1) 菜单栏中的退出功能 点击“Menu Editor”中的“退出”选项,设置Tag属性为“Untitled_1”,并对回调函数进行编辑。如图6.图6 退出功能编辑程序代码如下:function Untitled_1_Cal
12、lback(hObject, eventdata, handles)selection=questdlg(是否关闭,get(gcf,Name),窗口?, . Close ,get(gcf,Name),.,是,否,是);if strcmp(selection,否) return; else clc;%当选择关闭时,清空所有matla输入面上的所有错误信息,同时关闭图像窗口 clear all;delete(gcf); End(2) 菜单栏中的说明功能 点击“Menu Editor”中的“说明”选项,设置Tag属性为“Untitled_2”,并对回调函数进行编辑。程序代码如下:function U
13、ntitled_2_Callback(hObject, eventdata, handles)msgbox(利用毕奥萨伐尔定律作图,说明)3.2.2 绘图设置相关控件功能实现 (1) 选择绘制图像类型 当选择“listbox1”中的某一选项时,坐标轴下方的“EditText”也显示相应的文字说明。鼠标右键点击“listbox1”选择“View Callbacks”中的“Callback”进行编辑。如图7。图7 程序代码如下:function listbox1_Callback(hObject, eventdata, handles)selected.index=get(handles.listbox1,value);str=get(handles.listbox1,string);set(handles.edit1,string,strselected.index);(2) 绘制图像按钮功能实现 当使用者选择好所要绘制的图像类型后,点击“绘制图像”按钮,则在坐标轴中出现相应的图像。图像下方的文本框中显示图像名称。对“PushButton 2”的回调函数进行编辑。程序代码如下:function pushbutton2_Callback(hObject, eventdata, handles)axes(handles