摘 要:电磁场是一门教师难教、学生难学的课程,其内容中涉及较多的数学知识,例如矢量分析、微积分等。利用Matlab强大的数学功能,可以将学生从复杂的数学问题中解放出来,让学生把精力放在对物理概念的认识理解上,从而使学生能够抓住学习重点,起到良好的教学效果。
关键词:电磁场;教学;Matlab
电磁场课程是电子、通信等专业学生的一门重要的基础课,也是一些其他课程的基础,例如微波与天线技术、卫星通信、光通信等。电磁场课程比较抽象,理论性强,并且用到了较多数学知识,例如矢量分析、微积分等,是一门教师难教、学生难学的课程。Matlab是一个优秀的数学软件,为很多领域提供了工具函数包,功能强大,且使用非常方便。利用Matlab,可以使学生从复杂的数学问题中解放出来,把精力放在对物理概念的认识理解上,从而使他们能够抓住学习重点,起到良好的学习效果。下面,简述几点Matlab在电磁场教学中的应用。
一、矢量场分析
利用Matlab的矢量分析函数,学生可以很方便地对矢量进行运算。在运算过程中,主要用到下面几个函数:
点积:dot(A,B);
叉积:cross(A,B);
求模:norm(A);
其中,A、B是任意矢量。
例如,有矢量A=(1,2,3),B=(4,5,6),C(1,1,1),求 (1)矢量A的长度, (2)A·(B×C), (3)A×B×C。代码如下:
A=[1 2 3];
B=[4 5 6];
C=[1 1 1];
norm(A)
dot(A,cross(B,C))
cross(cross(A,B),C)
二、场的梯度、散度、旋度的计算
利用Matlab的符号运算功能,学生还可以进行符号微分和积分。因为梯度、散度、旋度都是微分算子,所以,可以考虑用符号微分进行计算。例如一矢量场F=(3y2-2x)x+x2y+2zz,求F的散度与旋度,代码如下:
syms x y z
F=[3*y^2-2*x, x^2, 2*z];%--
divF=diff(F(1),x)+diff(F(2),y)+diff(F(3),z)
rotF=[diff(F(3),y)-diff(F(2),z),diff(F(1),z)-diff(F(3),x),diff(F(2), x)-diff(F(1),y)]
三、图形功能
学生在学习过程中会发现:场的分布比较抽象,利用Matlab强大的绘图功能,可以把一些矢量分布图画出来,这样可以帮助我们理解。例如,画出点电荷的电场分布,代码如下:
r=1;
i=0;
for theta=(0:20:180)*pi/180
i=i+1;
j=0;
for phai=(0:20:360)*pi/180
j=j+1;
X(i,j)=r*sin(theta)*cos(phai);
Y(i,j)=r*sin(theta)*sin(phai);
Z(i,j)=r*cos(theta);
end
end
surf(X,Y,Z,0*Z);
hold on;
quiver3(X,Y,Z,X,Y,Z);
此外,用Matlab进行电磁场的数值分析也很方便,例如有限差分法等。在学习过程中,如果我们合理地使用数学工具,就可以简化学习过程,加深对物理现象的认识,这将起到良好的教学效果。总之,只要学生积极思考、认真探索,充分利用各种方式进行学习,再难的课也能学好。
参考文献:
[1]谢处方,饶克谨,杨显清.电磁场与电磁波[M].北京:高等教育出版社,2006.
[2]王沫然.MATLAB与科学计算[M].北京:电子工业出版社,2005.
[3]刘卫国.Matlab程序设计与应用[M].北京:高等教育出版社,2006.
[注:本文获得桂林理工大学科研启动基金([1**********]1)资助]
(桂林理工大学信息科学与工程学院)
摘 要:电磁场是一门教师难教、学生难学的课程,其内容中涉及较多的数学知识,例如矢量分析、微积分等。利用Matlab强大的数学功能,可以将学生从复杂的数学问题中解放出来,让学生把精力放在对物理概念的认识理解上,从而使学生能够抓住学习重点,起到良好的教学效果。
关键词:电磁场;教学;Matlab
电磁场课程是电子、通信等专业学生的一门重要的基础课,也是一些其他课程的基础,例如微波与天线技术、卫星通信、光通信等。电磁场课程比较抽象,理论性强,并且用到了较多数学知识,例如矢量分析、微积分等,是一门教师难教、学生难学的课程。Matlab是一个优秀的数学软件,为很多领域提供了工具函数包,功能强大,且使用非常方便。利用Matlab,可以使学生从复杂的数学问题中解放出来,把精力放在对物理概念的认识理解上,从而使他们能够抓住学习重点,起到良好的学习效果。下面,简述几点Matlab在电磁场教学中的应用。
一、矢量场分析
利用Matlab的矢量分析函数,学生可以很方便地对矢量进行运算。在运算过程中,主要用到下面几个函数:
点积:dot(A,B);
叉积:cross(A,B);
求模:norm(A);
其中,A、B是任意矢量。
例如,有矢量A=(1,2,3),B=(4,5,6),C(1,1,1),求 (1)矢量A的长度, (2)A·(B×C), (3)A×B×C。代码如下:
A=[1 2 3];
B=[4 5 6];
C=[1 1 1];
norm(A)
dot(A,cross(B,C))
cross(cross(A,B),C)
二、场的梯度、散度、旋度的计算
利用Matlab的符号运算功能,学生还可以进行符号微分和积分。因为梯度、散度、旋度都是微分算子,所以,可以考虑用符号微分进行计算。例如一矢量场F=(3y2-2x)x+x2y+2zz,求F的散度与旋度,代码如下:
syms x y z
F=[3*y^2-2*x, x^2, 2*z];%--
divF=diff(F(1),x)+diff(F(2),y)+diff(F(3),z)
rotF=[diff(F(3),y)-diff(F(2),z),diff(F(1),z)-diff(F(3),x),diff(F(2), x)-diff(F(1),y)]
三、图形功能
学生在学习过程中会发现:场的分布比较抽象,利用Matlab强大的绘图功能,可以把一些矢量分布图画出来,这样可以帮助我们理解。例如,画出点电荷的电场分布,代码如下:
r=1;
i=0;
for theta=(0:20:180)*pi/180
i=i+1;
j=0;
for phai=(0:20:360)*pi/180
j=j+1;
X(i,j)=r*sin(theta)*cos(phai);
Y(i,j)=r*sin(theta)*sin(phai);
Z(i,j)=r*cos(theta);
end
end
surf(X,Y,Z,0*Z);
hold on;
quiver3(X,Y,Z,X,Y,Z);
此外,用Matlab进行电磁场的数值分析也很方便,例如有限差分法等。在学习过程中,如果我们合理地使用数学工具,就可以简化学习过程,加深对物理现象的认识,这将起到良好的教学效果。总之,只要学生积极思考、认真探索,充分利用各种方式进行学习,再难的课也能学好。
参考文献:
[1]谢处方,饶克谨,杨显清.电磁场与电磁波[M].北京:高等教育出版社,2006.
[2]王沫然.MATLAB与科学计算[M].北京:电子工业出版社,2005.
[3]刘卫国.Matlab程序设计与应用[M].北京:高等教育出版社,2006.
[注:本文获得桂林理工大学科研启动基金([1**********]1)资助]
(桂林理工大学信息科学与工程学院)