浅谈使用matlab软件作为计算物理教学平台的优势_第1页
浅谈使用matlab软件作为计算物理教学平台的优势_第2页
浅谈使用matlab软件作为计算物理教学平台的优势_第3页
浅谈使用matlab软件作为计算物理教学平台的优势_第4页
浅谈使用matlab软件作为计算物理教学平台的优势_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 / 7 浅谈使用 Matlab软件作为计算物理教学平台的优势 浅谈使用 Matlab软件作为计算物理教学平台的优势 文林,邱旭 (重庆师范大学物理与电子工程学院,重庆 401331) 摘要: Matlab 为数值计算提供了大量功能强大的应用工具箱,使数值计算变得更加的高效。作为数值计算的软件平台, Matlab 在计算物理教学中的应用能降低学生学习计算物理的难度,提高学生对计算物理的学习兴趣。 关键词: Matlab;计算物理;线性方程; BCS 理论 一、引言 计算物理是伴随着计算机的出现 和发展而逐步形成的物理学科,是运用计算机对所要研究的复杂物理问题进行数值计算或模拟实验,并从中探索和发现新的物理规律。因此,计算物理是物理、数学和计算机三者相结合的产物 1。在当今的物理学各个分支领域,大量物理问题的求解都离不开计算机的辅助。可以说,计算物理的发展对物理学起着重要的推动作用。 在高等教育中,许多高校都为物理学专业本科生开设了计算物理课程。通过对该门课程的学习,学生可掌握许多科学计算中所应用的方法与技术,培养他们对科研的兴趣,2 / 7 并为将来开展科学研究和应用打下良好的基础。然而,对于大学本科 生来说,在计算物理的学习中存在着许多的困难。首先,计算物理课程通常涉及较为复杂的数学知识,如线性代数、偏微分方程等。在传统的计算物理教学中,大部分教师把数值计算方法和原理作为教学重点和难点,使得高等数学知识基础较差的学生学习起来较为困难 2。另一方面,计算物理课程的教学离不开计算软件。在早期的教学过程中,大部分教师都以 Fortran作为软件平台进行程序的编写,要求学生具有较强的编程能力。但学生通常很难掌握和应用复杂的 Fortran语言,使得计算物理教学过程中存在教与学的难度,降低了学生学习的效率 3。随 着科学的进步,许多新型计算软件的诞生为计算物理教学和学生的学习提供了便利,最为典型的就是 Matlab 软件在计算物理教学中的应用。 Matlab 是美国 MathWorks 公司所开发的商业数学软件,其全称为 Matrix Laboratory,意为矩阵实验室。 Matlab 的主要功能包括数值分析、数字图像处理、数字信号处理、工程与科学绘图和通讯系统设计与仿真等 4。与其他数值计算软件相比, Matlab 的优势主要体现在如下几方面:( 1 ) Matlab 为用户提供了高效的数值计算和符号计算功能,特别是在处理 矩阵方面具有明显的优势;( 2) Matlab在编程语言上较为简单,语法结构更加接近人们常用的数学3 / 7 表达习惯,提高了编程效率。最重要的是, Maltab 内嵌了许多功能强大的应用工具箱,为用户提供了大量方便且实用的处理工具,使得一些烦琐的数值计算过程能用单个简单的命令代替;( 3) Matlab 具有完美的图像处理功能,让复杂的计算结果变得可视化。因此,如果将 Matlab 作为计算物理教学的软件平台,将有效地改变学生学习计算物理困难的现状,提高学生学习积极性的同时,也能降低高校教师的教学难度。本文将通过一些计算物理实例,进一 步分析 Matlab软件作为计算物理教学平台的优势。 二、 Matlab 在求解线性方程组中的应用 在物理学中,许多实际物理问题可用线性方程组来描述,如电学网络、分子振动、应力分析等问题,而这些线性方程组又可用转化成如下的矩阵形式 AX=B 其中 X=( x1,x2, xN)为未知数所构成的 N 1 矩阵, A 为 N N 的系数矩阵,而 B 为 N 1 矩阵。如果矩阵 A 是非奇异矩阵,则方程组的解为 X=A-1B。所以,非线性方程组的求解转变为求逆 A-1。在线性代数中,矩阵的逆 A-1 A*/|A|,这里 A*为伴随矩阵。 |A|为矩 阵的行列式。如果利用标准的线性代数方法求 N N矩阵 A的行列式值 5,则必须要计算 N!个乘积。对于较小的矩阵来说,通常可利用简单的数学公式求解行列式。当 N 较大时,尽管理论上仍然可以运用线性代数公式进行计算,但计算量非常大。以 N=20 的矩阵为例,如果我们4 / 7 的计算机每秒可做 1010 次运算,那么计算该矩阵的行列式要花费大约为年的时间。这说明,在实际的数值计算中,不能用标准的线性代数公式做计算。此外,伴随矩阵 A*的求解在数值上也不太容易实现。 Matlab 为我们提供了一个计算矩阵行列式的命令 det。该命令所使用的算法为高斯消去法,其基本思想是将矩阵化为上三角或下三角矩阵,然后将对角元素相乘即可得到矩阵的行列式。我们以 N=20 的随机矩阵为例,发现计算该矩阵的行列式所需要的时间约为 5 10-5秒。由此可见, Matlab 所提供的命令 det在计算行列式时,既高效又简单。特别的,基于高斯约当消去法, Matlab 也为我们提供了计算矩阵逆的命令 inv。因此,学生在利用这些命令求解线性方程组时,不仅可以节省计算量,而且还可以避免编写高斯消去法和高斯约当消去法时所涉及的烦琐程序。 三、 Matlab 求解 非线性方程的应用举例 在日常生活中,许多现象在理论上可用一些复杂的非线性方程或方程组来描述。通过求解这些非线性方程,可以深入研究这些现象背后所隐藏的物理规律。非线性方程的求解没有简单的求根公式,必须借助数值计算方法进行近似求解。对于单个非线性方程的求解,常用的数值方法有区间对分法、迭代法、搜索法及牛顿迭代法 1。尽管这些方法能5 / 7 够有效地求解非线性方程,但在实际的应用中,学生很难直接利用这些算法求解较为复杂的非线性方程或方程组。Matlab 为我们提供了一个求解非线性方程或方程组的命令 fsolve, 该命令主要采用最小二乘法来求解非线性方程 1,其用法比较简单,学生容易学习和掌握。 为了说明利用 Matlab 求解非线性方程的优势,我们以 BCS超导理论中的能隙方程和粒子数方程为例,其基本形式如下: 这里为 as 原子相互作用的 s 波散射长度, kF 为费米动量,配对序参量和化学势需要自洽求解。该方程组为非线性方程组,可以通过牛顿迭代法进行求解。牛顿迭代法的基本思想是,将两个方程在初始值附近用二元泰勒级数做展开,并取线性部分,可得到求解方程时所需要的迭代格式1。然而,牛顿迭代法在每一步迭代的过 程中都需要计算一次雅可比行列式。对于较为复杂的非线性方程组而言,雅可比行列式的求解较为困难,程序编写过程比较复杂,以至于学生在编程过程中容易出现错误。如果直接利用 Matlab的 fsolve命令,则可有效避地免该问题。以下是利用 fsolve求解配对序参量和化学势的 Matlab 程序: 6 / 7 作为例子,我们利用上述程序展示配对序参量和化学势随相互作用强度的变化(见图 1)。由此可见,以 Matlab作为平台,利用 fsolve 求解非线性方程组时,可使学生从烦琐的数值算法推导及编程过程中解脱出来,将精力更多地投入到物理问题的分析中。 四、总结 以线性和非线性方程的求解为例,我们说明了 Matlab在计算物理教学中的优势。通过利用 Matlab 所提供的数值计算工具箱,可降低学生学习计算物理的难度,为计算物理教学提供便利。 参考文献: 1马文淦。计算物理学 M.北京:科学出版社, xx. 2李晓莉,张建飞。计算物理的教学改革研究与实践

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论