欢迎来到天天文库
浏览记录
ID:31438391
大小:106.50 KB
页数:5页
时间:2019-01-10
《matlab绘图在电动力学教学中的应用探索》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、Matlab绘图在电动力学教学中的应用探索 摘要:根据电动力学的特点,在教学中引入Matlab软件,使用其绘图功能把抽象的物理知识和物理现象用形象、直观的图形表示,帮助学生对知识的理解和掌握,提高了教学质量,值得进一步的推广应用。 关键词:Matlab;电动力学;教学改革 1.电动力学教学现状分析及Matlab的引入 电动力学是高校物理专业及相关专业学生在电磁学基础上继续深入学习的一门重要的理论基础课。我院选的教材是高等教育出版社郭硕鸿先生编写的电动力学第三版,教学主要内容可以分为五个部分:电磁场的基本方程、静电场
2、、静磁场、电磁波和狭义相对论。调查显示[1],在教学内容上,教师都相当重视基础内容,教学方法仍趋于传统的教学方法,讲清基础知识、基本概念,渗透科学方法,强调物理概念和数学描述的统一,体现物理学知识的整体性。虽然已有一部分教师采用了一些研究生学习的方式和引入英语教学等手段来进行教学方式的改革,但并未引起广泛的重视,特别是在电动力学中引入计算机软件辅助教学方面更加少有人问津。5 Matlab是国际上公认的最优秀的科技应用软件之一,Matlab软件易于操作,简单易懂,已逐渐被用于大学物理、电磁学等本科院校的教学当中[2-4]。
3、对于理工科院校本科教学来说,采用Matlab软件比较合适。我院学生在前期已开设了Matlab基础课程,再结合电动力学内容生涩难懂,物理知识、物理现象不能形象直观的描述等因素,我们在教学中引入了Matlab强大的绘图功能,要求每一位学生针对某一个知识点或者物理现象画出Matlab图形,并形成M文件。一学期后,同学们均能达到基本要求,效果良好! 2.Matlab绘图给教学带来的优势 引入Matlab绘图辅助教学,把可视化教学和传统的教学模式结合起来,一方面可以把抽象的物理知识变成清晰的图象,很大程度上帮助了学生对电磁场和电
4、磁波传播规律的理解和掌握,另一方面可以向学生传达更多更新的教学内容,展示与电动力学相关的更丰富的物理现象,最终达到激发学生的学习兴趣,提高了教学质量,同时也培养学生的想象力、创造力以及处理实际问题的能力。 3.应用举例 我们一共收到43份Matlab图形及M文件,其中描述静电磁场有27份,电磁波的传播有7份,描述一些主要物理现象如磁聚焦现象、带电粒子在恒定磁场中的螺旋运动、电磁波的衍射等有9份。现举例如下: 例1:半径为R均匀带电圆环轴线上的电场强度和电势的分布及极大值位置 Matlab主程序为: E=x./(R
5、2+x.^2).^(3/2); V=1./sqrt(R^2+x.^2); subplot(2,1,1) plot(x,E,[-22],[00],'k',[00],[-4040],'k') xlabel('x/m');ylabel('E/V/m');5 subplot(2,1,2) plot(x,V,[00],[010]) xlabel('x/m');ylabel('V/V'); [Em,n]=max(E) xm=((n-1)*0.001-2) 图1中可看出,圆环圆心处电场强度为零,电势最大。用Matla
6、b命令取出电场强度和电势的极值及其所在位置,如Emax≈38.5,最大值的位置约在距圆心0.07处。电势在圆心处取最大值为10。为简单化这里我们取。 例2:带电粒子在恒定磁场中的螺旋运动 Matlab主程序如下: [t,y]=ode45(@ddlzfun,[0:0.01:20],[0,0.01,0,6,0,0.01],[],q,m,B,0); ydot=ddlzfun(t,y,q,m,B,E) ydot=[y(2);q*B*y(4)/m;y(4);-q*B*y(2)/m;y(6);0]; comet3(y(:,
7、1),y(:,3),y(:,5)); plot3(y(:,1),y(:,3),y(:,5));gridon xlabel('x');ylabel('y');zlabel('z'); 这里用了ode23解微分方程组,时间设定为20s,输入相关的参数值就可以观察到带电粒子在恒定磁场中的螺旋运动。 这是一个动态图形,通过修改参数可以方便的观察运动的变化,从而分析带电粒子在磁场中运动的规律。5 例3:电磁波的传播 主程序为: m=3; x=(0:0.01:1)*m; figure;gridon;holdon;
8、axis([0,m,-1,1,-1,1]) data=zeros(size(x)); hy=stem(x,data,'r.');hz=stem3(x,data,data,'b.'); n=length(x); i=1; view(3); while1 ifi>n data=[data(e
此文档下载收益归作者所有