Matlab在高等数学和线性代数中的应用
- 格式:pdf
- 大小:547.81 KB
- 文档页数:9
matlab软件在高等数学教学课堂上的应用摘要:本文介绍了matlab软件在高等数学教学课堂上的应用。
首先,我们介绍了matlab软件的基本特点和优点,主要包括matlab 软件的易用性、高效性和多功能性。
然后,我们结合高等数学教学的实际情况,分析了matlab软件在高等数学教学课堂上的应用,主要包括matlab软件在微积分、线性代数、概率论与数理统计等方面的应用。
最后,我们总结了matlab软件在高等数学教学中的优点和不足之处,并提出了进一步完善matlab软件在高等数学教学中的应用的建议。
关键词:matlab软件;高等数学教学;微积分;线性代数;概率论与数理统计一、matlab软件的基本特点和优点matlab软件是一种数学软件,主要用于进行数学计算、数据分析和可视化等方面的工作。
matlab软件具有以下几个基本特点和优点:1.易用性:matlab软件的界面简洁明了,操作简单易学,适合各种不同层次的用户使用。
2.高效性:matlab软件的计算速度非常快,可以快速处理大量的数学计算和数据分析工作。
3.多功能性:matlab软件具有多种不同的功能模块,包括数学计算、数据分析、可视化、编程等方面的工作,可以满足不同用户的不同需求。
二、matlab软件在高等数学教学中的应用matlab软件在高等数学教学中有着广泛的应用,主要包括以下几个方面:1.微积分:matlab软件可以用于微积分的计算和可视化,可以帮助学生更好地理解微积分的概念和原理。
例如,可以使用matlab 软件计算函数的导数和积分,绘制函数的图像和曲线,进行微积分的应用实例分析等。
2.线性代数:matlab软件可以用于线性代数的计算和可视化,可以帮助学生更好地理解线性代数的概念和原理。
例如,可以使用matlab软件计算矩阵的行列式、逆矩阵、特征值和特征向量等,绘制矩阵的图像和曲线,进行线性代数的应用实例分析等。
3.概率论与数理统计:matlab软件可以用于概率论与数理统计的计算和可视化,可以帮助学生更好地理解概率论与数理统计的概念和原理。
MATLAB在高等数学中的应用文献综述文献综述MATLAB在高等数学中的应用一、前言部分MATLAB是Matrix Laboratory(矩阵实验室)的缩写,是一种广泛应用于工程计算及数值分析领域的新型高级语言,是一种具有广泛应用前景的全新的计算机高级编程语言,有人称它为“第四代”计算机语言。
它可以进行矩阵运算、数据可视化、实验算法、创建用户界面、连接其他编程语言程序等,它起源于矩阵计算,并提供强大的科学运算、灵活的程序设计流程和高质量的图形,且具有一下的特点与功能:1MATLAB是一个交互式软件系统输入一条命令就可以得出该命令的结果。
2MATLAB具有很强的数值计算功能MATLAB以矩阵作为数据操作的基本单位,但无需预先指定矩阵维数。
按照IEEE的数值计算标准进行计算。
提供十分丰富的数值计算函数,方便计算,提高效率。
MATLAB命令与数学中的符号、公式非常接近,可读性强,容易掌握。
二、主题部分2.1.MATLAB软件介绍2.1.1.MATLAB软件概况“MATLAB”是“Matrix Laboratory”的缩写。
MATLAB的第一个版本是LINPACK和EISPACK库的程序的一个接口,用来分析线性方程组。
随着MATLAB的演化,除了线性代数外,它还支持许多其他的程序。
MATLAB的核心仍然是基于命令行的交互式分析工具。
用户可以用类Fortran语言扩展交互环境。
交互环境中的程序以命令行的形式执行。
MATLAB用户接口包括下拉菜单和对话框,任何个人电脑使用者对这一接口都很熟悉。
菜单命令支持文件操作、打印、程序编辑和用户接口定制。
MATLAB 的数值计算是通过在命令窗口输入命令,并不是通过菜单操作进行的。
MATLAB是一个基本的应用程序,它有一个称为标准工具箱的巨大程序模块库。
MATLAB工具箱包括解决实际问题的扩展库,如:求根、插值、数值积分、线性和非线性方程组求解以及常微分方程组求解。
由于继承了LINPACK、EISPACK 和LAPACK的特性,MATLAB对数值线性代数来说是一个高可靠的优化系统。
MATLAB在高等数学教学中的应用【摘要】本文主要探讨了MATLAB在高等数学教学中的应用。
通过对微积分、线性代数、概率论与数理统计、常微分方程和多元函数微积分等领域的具体案例分析,展示了MATLAB在教学中的重要作用。
MATLAB提供了丰富的数学函数库和可视化工具,可帮助学生更好地理解和应用数学知识。
MATLAB还能够帮助教师更加生动地展示数学概念与原理,提高教学效果。
在对MATLAB在高等数学教学中的作用进行了总结,并展望了未来MATLAB在教学中的发展前景。
MATLAB 在高等数学教学中的应用将会持续发展,并对学生的数学学习和理解起到积极的促进作用。
【关键词】MATLAB, 高等数学教学, 应用, 微积分, 线性代数, 概率论, 数理统计, 常微分方程, 多元函数微积分, 总结, 展望1. 引言1.1 MATLAB在高等数学教学中的应用概述通过MATLAB,教师可以更加生动地展示数学概念、解决实际问题,并且可以进行直观的可视化展示,帮助学生更好地理解和掌握数学知识。
对于学生来说,他们可以通过MATLAB进行实践操作,加深对数学知识的理解,提高解决问题的能力。
MATLAB还可以帮助教师和学生们快速验证和验证数学模型,加快数学计算的速度,提高教学效率。
MATLAB在高等数学教学中的应用不仅可以丰富教学内容,提高教学效果,还可以激发学生学习数学的兴趣,促进他们对数学的深入探讨和研究。
在数字化时代,MATLAB的应用将为高等数学教学带来新的发展机遇和可能性。
2. 正文2.1 MATLAB在微积分教学中的应用微积分是高等数学中的重要学科,也是许多学生感到困惑的学科之一。
利用MATLAB软件可以帮助学生更好地理解微积分的概念和原理,并提升他们的数学建模和问题解决能力。
MATLAB可以用来绘制函数图像。
学生可以通过输入函数表达式和指定变量的取值范围,快速绘制出函数的图像。
这样可以直观地展示函数的性质,帮助学生理解函数在不同区间的变化规律。
MATLAB在高等数学教学中的应用1. 引言1.1 MATLAB在高等数学教学中的应用概述在微积分教学中,MATLAB可以用来绘制曲线和图形,解决数值积分和微分方程等数学问题,帮助学生更深入地理解微积分的概念和应用。
在线性代数教学中,MATLAB可以用来求解线性方程组、计算矩阵的特征值和特征向量,加深学生对向量空间和线性变换的理解。
MATLAB在高等数学教学中的应用不仅帮助教师更好地传授知识,也提升了学生的学习效果和兴趣。
随着技术的不断发展和完善,MATLAB在高等数学教学中的应用前景将更加广阔,为数学教育带来更多的可能性和创新。
2. 正文2.1 MATLAB在微积分教学中的应用MATLAB可以用来绘制函数的图像,帮助学生直观地理解数学概念。
通过输入函数表达式,学生可以立即看到函数的图像,从而更好地理解函数的性质和特点。
MATLAB可以进行数值计算,帮助学生解决一些复杂的积分和微分问题。
对于一些无法通过解析方法求解的问题,可以利用MATLAB进行数值积分和数值微分,提高学生的问题求解能力。
MATLAB还可以用来进行符号计算,帮助学生简化复杂的数学表达式,进行代数化简和方程求解,加深学生对微积分概念的理解。
MATLAB在微积分教学中的应用可以帮助学生更好地理解和掌握微积分知识,提高他们的问题求解能力和数学建模能力。
通过结合理论知识和实际计算,MATLAB可以使微积分课程变得更加生动和有趣,激发学生对数学学习的兴趣。
2.2 MATLAB在线性代数教学中的应用1. 矩阵运算:在线性代数课程中,学生需要进行大量的矩阵运算,包括矩阵相加、相乘、求逆等操作。
利用MATLAB可以快速进行这些运算,并且可以帮助学生更好地理解线性代数的概念。
2. 线性方程组求解:线性代数中最基本的问题之一就是求解线性方程组。
MATLAB提供了很多线性代数相关的函数,可以帮助学生查找线性方程组的解,包括使用高斯消元法、LU分解等方法。
目录摘要 (1)关键词 (1)Abstract (1)Key words (1)引言 (1)1 MATLAB 软件概述 (2)1.1 MATLAB软件简介 (2)1.2 MATLAB软件的特点 (2)2 MATLAB 软件在大学数学中的应用 (2)2.1 函数及其图像 (2)2.1.1 函数 (2)2.1.2 图像 (3)2.2 极限 (6)2.3 导数与微分 (7)2.4 定积分与不定积分 (7)2.5 重积分 (9)2.6 曲线积分与曲面积分 (10)2.7 级数 (12)3 MATLAB 软件在线性代数中的应用 (13)3.1 行列式求值 (13)3.2 矩阵的基本运算 (13)3.3 矩阵的秩 (15)3.4 矩阵的分解 (16)3.5 求解线性方程组 (17)3.6 方阵与二次型 (19)4 MATLAB 软件在概率论与数理统计中的应用 (21)4.1 离散型随机变量的分布 (21)4.2 连续型随机变量的分布 (24)4.3 随机变量的数字特征 (25)4.3.1 数学期望 (25)4.3.2 方差 (26)5 结束语 (26)参考文献 (27)致谢 (27)MATLAB软件在高等数学中的应用探索摘要MATLAB将计算机、可视化、程序设计融合到了一简单的交互式工作环境中,可实现工程计算、算法研究、符号计算、建模和仿真、原型开发、数据分析及可视化、科学工程绘图和应用程序设计等功能,在经济、生物、物理、信息等相关领域有着广泛的应用天地.在数学领域,MATLAB也成为数学分析、线性代数、概率论与数理统计、复变函数论等课程的基本教学工具,有着广阔的应用前景.为如何解决实际与理论教学中计算繁琐问题增加学习直观性和趣味性及培养学生数学的应用及创新能力提供借鉴给出了应用MATLAB软件辅助大学数学教学的几个典型案例.从中让更多的人了解和认识MATLAB.关键词MATLAB 数学分析线性代数概率统计数学趣味性The Using Exploration of MATLAB on Mathematics QuestionAbstract MA TLAB made computer, visualization, design integration into a simple interactive work environment, which can realize engineering calculation, algorithm research, symbolic computation, modeling and simulation, prototype development, data analysis and visualization, science, engineering drawing and application design, and other functions, in the economic, biological, physical, information and other related fields has been widely used. In the field of mathematics, MATLAB also become mathematics analysis, linear algebra, probability and mathematical statistics, complex variable function theory and so on the basic teaching tools, has a broad application prospect. For how to solve the problem of complicated calculation in practical and theoretical teaching more intuitive and fun learning and cultivate the students' mathematics application ability and innovation provide application of MA TLAB software aided university mathematics teaching is given for several typical cases. To let more people understand and know from MATLAB.Key words MATLAB m athematical analysis linear algebra probability and statistics mathematics fun 引言MATLAB是由Math Works公司于1984年推出的一种面向科学与工程的计算软件.它集数值分析、矩阵运算、程序设计、符号计算及图形显示于一体的非常优秀的图形化语言,该软件具有简单易学功能强大、使用方便、编程高效、界面友好等特点,已被广泛应用在数学、物理学、化学、电子信息科学、工程力学及经济学等理工科和社会科学的不同应用领域.随着计算机技术在各个领域的深入应用,MATLAB语言已经成为大学生、研究生必须掌握的基本技能,已经成为广大科研工作者进行科学研究和工程实践的必备工具.已经被认可为能够有效提高工作效率、改善设计手段的工具软件,掌握了MATLAB就好比掌握了开启这些专业领域大门的钥匙[1].大部分学生对高等数学一直感到抽象、冗繁和枯燥,不能亲手体验数学,只能被动接受.近年来,基于计算机强大计算能力的广泛应用,科学计算已成为与理论研究、科学实验并列的科学研究的三大手段.在数学软件发展成熟的今天,国外大量课程的教材都已采用数学软件分析,教学中大量使用数学软件;而国内教材这方面比国外落后,教学中实际使用数学软件的就更少.科学计算能力的低下已成为我国高等教育落后于国外的一个瓶颈,而且目前还在继续加大.下面探讨MATLAB在高等数学中的应用,实验证明该软件功能强大,语言简洁易学,人机界面友好,工具箱具有丰富的技术支持,应用简单而且效果良好.1 MATLAB软件概述1.1 MATLAB软件简介Matlab即Matrix Laboratary 矩阵实验室,是由美国Clever Moler博士于1980年开发的,设计者的初衷是为了解决“线性代数”课程的矩阵运算问题.它是一种集数值计算、符号预算、可视化建模、仿真和图形处理等多种功能于一体的优秀图形化软件.Matlab将高性能的数值计算和可视化集成在一起,提供大量内置函数,将数值分析、矩阵计算以及非线性动态系统的建模和仿真等诸多强大功能集成在一个简单的视窗环境中,为科学研究、工程设计以及其他众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了程序设计语言如C、Fortran等编辑模式,代表当今国际科学计算软件的先进水平.Matlab将一个优秀软件的易用性与可靠性、通用性与专业性、一般目的的应用与高深的科技应用有机结合.它是一种直译式的高级语言,比其他程序设计语言容易,对于相关程序只需修改相应的参数便会得出不同的结论.现如今大学教学课程中引入计算机模拟技术正日益受到重视,与Basic、C和Fortran相比,用Matlab软件做试验的模拟,只需要用数学方式表达和描述,省去了大量繁琐的编程过程,使得解决问题变得简单.同时Matlab在动画设计和音乐制作方面也有广阔的应用前景.1.2 MATLAB软件的特点Matlab软件具有简洁紧凑、语法限制不严、程序设计自由度大、可移植性好、运算符、库函数丰富、图形功能强大、界面友好、编程效率高、扩展性、灵活性强[1]等特点. Matlab具备很强的开放性.除内部函数外,所有Matlab基本文件和各工具箱文件都是可读、可改的源文件,用户可通过对源文件的修改或加入自己编写的文件去构成新的专用工具箱.2 MATLAB软件在大学数学中的应用2.1 函数及其图像2. 1. 1 函数数学分析中函数部分主要讲述以下内容:(1)函数的基本性质,如函数的单调性、奇偶性、周期性、有界性等;(2)常值函数、指数函数、对数函数、幂函数、三角函数、反三角函数六种基本初等函数的性质.2. 1. 2 图像函数的图像对我们了解函数的性质很有帮助,而计算与绘图正是Matlab 所“擅长”的项目.例2.1.1 绘制函数 cos y x =,[]2,2x ππ∈-的图形[2]. 程序为: >> clear>> x=-2*pi:0.1:2*pi; >> y=cos(x); >> plot(x,y,'.') 运行结果:-8-6-4-22468-1-0.8-0.6-0.4-0.200.20.40.60.81图2-1 函数cos y x =的图形例2.1.2 绘制函数)5()sin(xy e xy z =的动画图像[2].程序为: >> x=-3:0.1:3; >> [X,Y]=meshgrid(x); >> z=sin(X.*Y).*exp(X.*Y/5); >> mesh(z); >> M=moviein(40); >> axis manual >> For j=1:40mesh(cos(4*pi*j/40)*z,z) M(:,j)=getframe; >> End运行结果:2040608020406080-4-20246图2-2 函数)5()sin(xy exy z =的图形例2.1.3 绘制螺旋线cos sin ,[0,6]x ty t t z t π=⎧⎪=∈⎨⎪=⎩ [3]的图形.程序为:>> t=0:0.1:6*pi; >> x=cos(t); >> y=sin(t); >> z=t;>> plot3(x,y,z) 运行结果:-1-0.50.51-1-0.50.5105101520图2-3 函数cos sin ,[0,6]x t y t t z t π=⎧⎪=∈⎨⎪=⎩ 的图形例2.1.4 绘制函数 22x y y xe --=的图形.程序为:>> [x,y]=meshgrid([-2:0.1:2]); >> z=x.*exp(-x.^2-y.^2); >> plot3(x,y,z) 运行结果:-2-112-2-112-0.500.5图2-4 函数22x y y xe --=的图形例2.1.5 绘制由1y x= 绕y 轴旋转一周形成的旋转曲面[2]. 程序为:>> x=0.2:0.001:0.5; >> y=1./x;>> [x,y,z]=cylinder(y,30); >> mesh(x,y,z) 运行结果:-55-5500.20.40.60.81图2-5 由函数1y x=旋转所得曲面图形 2.2 极限极限这个概念是高等数学中非常重要而且又很抽象的概念, 我们理解起来往往很困难, 但通过几何图形能够很好地体现此概念的内涵[4]. 例2.2 画出函数 sin x y x= 的图像[4],观察0,x x →→∞时的极限. 程序为:>> x=linspace(-40,40,200); >> y=sin(x)./x; >> plot(x,y); >> grid on>> axis([-40,40,-1.5,1.5]) 运行结果:-40-30-20-10010203040-1.5-1-0.50.511.5图2-6 函数 sin xy x=的图形 从图中可看出,010x y x y →→→∞→当时,;当时,. 2.3 导数与微分导数是高等数学的一个基本概念.相关的内容有复合函数求导,隐函数求导,多元函数的偏导数以及导数的应用极值问题等等,是高等数学中非常重要的一部分内容. Matlab 的符号运用工具箱中有着请打的求导运算功能.在一些较为复杂的导数和微分计算中, 利用Matlab 可以快速求出结果, 并能轻易画出图像[5], 比较原图像和微分图像之间的区别, 能更加直观地理解微分的意义.例2.3 求函数 sin cos y ax bx = 的一阶导数、二阶导数. 程序为: >> syms x a b y=sin(a*x)*cos(b*x); diff(y) >> syms x a b f=sin(a*x)*cos(b*x); diff(f,2) 运行结果: ans =a*cos(a*x)*cos(b*x) - b*sin(a*x)*sin(b*x) ans =- a^2*cos(b*x)*sin(a*x) - b^2*cos(b*x)*sin(a*x) - 2*a*b*cos(a*x)*sin(b*x) 2.4 定积分与不定积分积分是高等数学里的一个基本而又重要的组成部分.积分是微分的逆运算,不定积分的求解除了记住常用的积分表和积分法则外,还包含很大的技巧.积分是微分的逆运算, 由于人类思维的局限性, 积分更难求解[6].定积分在一些情况下可以看作在一定范围内的微小量的和.Matlab 为我们的积分运算提供一个简洁而又功能强大的工具,应用Matlab 也可达到快速、精确的求解.例2.4.1 计算定积分 30(1)dxx x ∞+⎰ .程序为: >> syms x;>> y=(x*(1+x)^3)^(-0.5); >> int(y,0,+inf) 运行结果: ans =2例2.4.2 显示不定积分 sec tan x xdx ⎰; 2sin dx x ⎰; 2(1)dx x -⎰ 的图像[6]. 程序为: >> syms x;>> a=int(sec(x)*tan(x)); >> b=int(1/(sin(x))^2); >> c=int(1/sqrt(1-x^2)); >> ezplot(a); >> ezplot(b); >> ezplot(c); 运行结果:-6-4-2246-6-4-20246x1/cos(x)图2-7 不定积分sec tan x xdx ⎰的积分曲线-6-4-20246-6-4-2246x-cot(x)图2-8 不定积分2sin dxx⎰的积分曲线-1-0.8-0.6-0.4-0.200.20.40.60.81-1.5-1-0.50.511.5xasin(x)图2-9 不定积分2(1)dx x -⎰的积分曲线2.5 重积分定积分解决了连续量求值的问题,而解决多维连续量的求和问题时就要用到重积分的运算了.重积分是建立在定积分基础上的积分,它的基本思想也是将重积分转化为定积分来计算,其中关键是积分限的确定,这也是重积分的难点所在.Matlab 系统并没有提供专门的函数来计算重积分,因此在我们确定了积分限后仍用计算定积分的函数来处理重积分问题.例2.5.1 计算积分22202x x xdx xydy --⎰⎰.程序为:>> syms x y; >> f=x*y;>> int(int(f,y,2-x,sqrt(2*x-x^2)),x,0,2) 运行结果: ans = 0例2.5.2 计算Vzdxdydz ⎰⎰⎰,V 由曲面22z x y =+,z=1,z=2所围成的空间立体.程序为: >> syms x y z; >> f=z;>> Az=int(f,z,x^2+y^2,2); >> Ay=int(Az,y,0,sqrt(2-x^2)); >> Ax=int(Ay,x,0,sqrt(2)) 运行结果: Ax = (2*pi)/32.6 曲线积分与曲面积分积分实际上是求连续量作用的累积,当连续量定义在直线段上时,求累积的过程就是定积分,当连续量定义在平面区域上时,这个过程就是二重积分,当连续量定义在三维立体空间上时,这个过程就是三重积分[6].如果连续量是定义在空间曲线上或者空间曲面上时,则这个球累积的过程就是曲线积分和曲面积分了.曲线积分、曲面积分又分为两种类型,一种是定义域无向的积分,一种是定义域有向的积分.例 2.6.1 计算曲线积分232(4)(sin )LI xy y dx x y y dy =-++⎰,其中L 为圆周222x y a +=且取正方向. 法一(直接计算): 程序为:>> syms x y t dx dy a >> x=a*cos(t); >> y=a*sin(t); >> dx=diff(x); >> dy=diff(y);>> int((x*y^2-4*y^3)*dx+(x^2*y+sin(y))*dy,t,0,2*pi)运行结果: ans = 3*pi*a^4法二(利用Green 公式): 程序为:>> syms x y p q d r t f a u v >> p=x*y^2-4*y^3; >> q=x^2*y+sin(y); >> d=diff(q,x)-diff(p,y); >> u=r*cos(t); >> v=r*sin(t);>> g=subs(d,[x y],[u v]); >> int(int(g*r,t,0,2*pi),r,0,a) 运行结果: ans = 3*pi*a^4例2.6.2 计算曲面积分Syzds ⎰⎰,其中S 是平面3z y =+被圆柱面221x y +=截得的部分.采用极坐标计算积分,程序为: >> syms x y z dzx dzy sxy r t u v >> z=y+3;>> dzx=diff(z,x); dzy=diff(z,y); >> sxy=y*z*sqrt(1+dzx^2+dzy^2); >> u=r*cos(t);v=r*sin(t);>> int(int(subs(sxy,[x y],[u v])*r,t,0,2*pi),r,0,1) 运行结果: ans =(pi*2^(1/2))/4例 2.6.3 计算曲面积分2233()(2)Sxz dydz x y z dzdx xy y z dxdy +-++⎰⎰,其中S 为上半球2222222,0x y z a z a x y ++≤≤≤--的表面外侧. 利用Gauss 公式,程序为:>> syms p q r x y z dpx dqy drz f g u v t m n l a>> p=x*z^2; >> q=x^2*y-z^3; >> r=2*x*y+y^2*z; >> dpx=diff(p,x); >> dqy=diff(q,y); >> drz=diff(r,z); >> f=dpx+dqy+drz; >> m=t*sin(u)*cos(v); >> n=t*sin(u)*sin(v); >> l=t*cos(u);>> g=subs(f,[x y z],[m n l]);>> int(int(int(g*t^2*sin(u),u,0,pi/2),v,0,2*pi),t,0,a) 运行结果: ans = (2*pi*a^5)/5 2.7 级数在高等数学里级数主要围绕三部分:常数项级数的级数求和和收敛法则、幂级数的收敛和将函数展开为幂级数、傅里叶级数的性质和将函数展为傅里叶级数[4].下面举例运用Matlab 计算级数求和及展为幂级数.例2.7.1 级数求和 1) 21012(21)(21)i i i x +∞+=++∑;2) 1(1)nn n x +∞=-∑ . 程序为: 1) >> syms i x>> s=symsum(2/((2*i+1)*(2*x+1)^(2*i+1)),i,0,inf) >> simple(s) 2) >> syms n x>> s=symsum(n*(x-1)^n,n,1,inf) >> simple(s) 运算结果: 1) ans= log((x+1)/x) 2)(x-1)/(x-2)^2例2.7.2 将函数()2133f x x x =++ 展开为1x -的幂级数.程序为: >> syms x;>> f=1/(x^2+3*x+3); >> y=taylor(f,x,5,1) 运行结果: y =(18*(x - 1)^2)/343 - (5*x)/49 - (55*(x - 1)^3)/2401 + (149*(x - 1)^4)/16807 + 12/493 MATLAB 软件在线性代数中的应用3.1 行列式求值在线性代数中,行列式是个基本工具,其应用比较广泛,在Matlab 中求其值很简单.例3.1 111213212223313233a a a A a a a a a a ⎛⎫⎪= ⎪ ⎪⎝⎭求矩阵 所对应的行列式的值[7].程序为:>> syms a11 a12 a13 a21 a22 a23 a31 a32 a33 >> A=[a11 a12 a13;a21 a22 a23;a31 a32 a33]; >> det(A)运行结果: ans =a11*a22*a33 - a11*a23*a32 - a12*a21*a33 + a12*a23*a31 + a13*a21*a32 - a13*a22*a313.2 矩阵的基本运算矩阵的基本运算主要有矩阵的加、减,数乘,矩阵与矩阵的相乘,矩阵的幂运算,矩阵的转置,矩阵的逆运算,矩阵的范数[8].例子很多,我就不一一举例了,仅举些和差、矩阵与矩阵的相乘、矩阵的逆运算以及矩阵的范数的例子.例3.2.1[3] 123324212253331231A ⎛⎫⎛⎫⎪ ⎪= ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭求矩阵与矩阵B=的和与差.>> A=[1 2 3;2 1 2;3 3 1]; >> B=[3 2 4;2 5 3; 2 3 1]; >> C=A-B;>> D=A+B;>> C,D运行结果:C =-2 0 -10 -4 -11 0 0D =4 4 74 6 55 6 2例3.2.2123324212253331231A⎛⎫⎛⎫⎪ ⎪= ⎪ ⎪⎪ ⎪⎝⎭⎝⎭求矩阵与矩阵B=的乘积.程序为:>> A=[1 2 3;2 1 2;3 3 1]; >> B=[3 2 4;2 5 3; 2 3 1]; >> C=A*B>> D=B*A运行结果:C =13 21 1312 15 1317 24 22D =19 20 1721 18 1911 10 13例3.2.3123324212253331231A⎛⎫⎛⎫⎪ ⎪= ⎪ ⎪⎪ ⎪⎝⎭⎝⎭求矩阵与矩阵B=的逆矩阵.>> A=[1 2 3;2 1 2;3 3 1];>> B=[3 2 4;2 5 3; 2 3 1]; >> C=inv(A)>> D=inv(B)运行结果:C =-0.4167 0.5833 0.0833 0.3333 -0.6667 0.33330.2500 0.2500 -0.2500D =0.2000 -0.5000 0.7000 -0.2000 0.2500 0.05000.2000 0.2500 -0.5500例3.2.4231462342A⎛⎫⎪= ⎪⎪⎝⎭求矩阵的1—范数(或列范数)、2—范数、无穷范数(或行范数)、F—范数[8].程序为:>> A=[2 3 1;4 6 2;3 4 2]; >> norm(A,1)>> norm(A)>> norm(A,inf)>> norm(A,'fro')运行结果:1—范数:ans =132—范数:ans =9.9346无穷范数:ans =12ans =9.94993.3 矩阵的秩矩阵的秩是矩阵的行向量或列向量不相关的个数[2],可用Matlab中函数求得.例3.3123212331A⎛⎫⎪= ⎪⎪⎝⎭求矩阵的秩.程序为:>> A=[1 2 3;2 1 2;3 3 1];>> rank(A)运行结果:ans =33.4 矩阵的分解在求解线性方程组、矩阵的特征值和特征向量等过程中都要用到矩阵的分解,在Matlab中有专门的矩阵分解函数.这里主要介绍Schur分解、Cholesky分解、LU分解、QR分解.例3.4.1 求212121231A⎛⎫⎪= ⎪⎪⎝⎭矩阵的Schur分解.程序为:>> A=[2 1 2;1 2 1;2 3 1];>> T=schur(A)运行结果:T =4.8737 -0.5301 1.4919 0 0.8503 -1.2220 0 0 -0.7240例3.4.2 求5阶11A170⎛⎫⎪= ⎪⎪⎝⎭矩阵的Cholesky分解[2].程序为:>> A=[1 1 1 1 1 ;1 2 3 4 5;1 3 9 10 15;1 4 10 30 35;1 5 15 35 70];>> [R,p]=chol(A) 运行结果: R =1.0000 1.0000 1.0000 1.0000 1.0000 0 1.00002.00003.00004.0000 0 0 2.0000 1.5000 3.0000 0 0 0 4.2131 4.1537 0 0 0 05.1717 p = 0例3.4.3 求2233A ⎛⎫⎪= ⎪ ⎪⎝⎭ 矩阵的LU 分解. 程序为:>> A=[2 1 2 2;1 2 3 4;2 4 1 1;3 1 2 3] >> [L,U]=lu(A) 运行结果: L =0.6667 0.1000 0.2800 1.0000 0.3333 0.5000 1.0000 0 0.6667 1.0000 0 0 1.0000 0 0 0 U =3.0000 1.0000 2.0000 3.0000 0 3.3333 -0.3333 -1.0000 0 0 2.5000 3.5000 0 0 0 -0.8800例3.4.4 求1224A ⎛⎫⎪= ⎪ ⎪⎝⎭ 矩阵的QR 分解. 程序为:>> A=[1 3 2 2;2 1 2 1;3 1 2 1;2 1 2 4] >> [Q,R]=qr(A) 运行结果:Q =-0.2357 0.9629 -0.1313 0.0000-0.4714 -0.0438 0.5252 -0.7071-0.7071 -0.2626 -0.6565 0.0000-0.4714 -0.0438 0.5252 0.7071R =-4.2426 -2.3570 -3.7712 -3.53550 2.5386 1.2255 1.44440 0 0.5252 1.70700 0 0 2.12133.5 求解线性方程组线性方程组分为齐次方程组和非齐次方程组.对于齐次方程组而言,可用通过求系数矩阵的秩来判断解的情况;对于非齐次方程组而言,则要根据系数矩阵的秩与增广矩阵的秩和未知数个数的关系[9],才能判断解的情况.例3.5.11234123412342020x x x xx x x xx x x x-++=⎧⎪-+-=⎨⎪--+=⎩求解方程组 .程序为:>> A=[1 -1 1 1;1 -1 1 -2;1 -1 -2 1]; >> format rat>> n=4;>> RA=rank(A)>> if(RA==n)fprintf('方程组只要零解')elseB=null(A,'r')End运行结果:RA =3B =11>> syms k >> x=k*B x =kk例3.5.21231231242232101138x x xx x xx x+-=⎧⎪-+=⎨⎪+=⎩解方程组 .程序为:>> A=[4 2 -1;3 -1 2;11 3 0];>> b=[2 10 8]';>> B=[A b];>> n=3;>> RA=rank(A)>> RB=rank(B)>> if(RA==RB&RA==n)x=A\belse if(RA==RB&RA<0)C=A\bD=null(A,'r')elsefprintf('方程组无解')endend运行结果:RA =2RB =3方程组无解>>3.6 方阵与二次型在这里我们主要说下用Matlab求方阵的特征值与特征向量,这在数学的方阵对角化及解微分方程组等问题里都有广泛应用.二次型里我们主要介绍二次型正定的判定[10],二次型正定的充要条件是,它的矩阵的特征值都为正,或者矩阵的所有顺序主子式都为正.例3.6.1 110430102-⎛⎫ ⎪- ⎪ ⎪⎝⎭求矩阵a=的特征值与特征向量.程序为:>> a=[-1 1 0;-4 3 0;1 0 2]; >> [V D]=eig(a) 运行结果: V =0 881/2158 881/2158 0 881/1079 881/1079 1 -881/2158 -881/2158 D =2 0 0 0 1 0 0 0 1例3.6.2 2221231213232484f x x x x x x x x x =-++++把二次型 化为标准型.程序为:>> a=[1 2 4;2 -2 2;4 2 1]; >> syms y1 y2 y3 >> y=[y1;y2;y3]; >> [P,D]=eig(a) >> x=P*y>> f=[y1 y2 y3]*D*y 运行结果: P =963/1615 1292/2889 2/3 963/3230 -2584/2889 1/3 -963/1292 0 2/3 D =-3 0 0 0 -3 0 0 0 6 x =(2*y3)/3 + (4*5^(1/2)*y1)/15 + (5^(1/2)*y2)/5 y3/3 + (2*5^(1/2)*y1)/15 - (2*5^(1/2)*y2)/5 (2*y3)/3 - (5^(1/2)*y1)/3 f =6*y3^2 - 3*y2^2 - 3*y1^2 例3.6.3[10]222123121328442f x x x x x x x =+-++判定二次型 是否正定.法一: 程序为:>> a=[2 2 1;2 8 0;1 0 -4]; >> d=eig(a) >> if all(d>0) fprintf('二次型正定') elsefprintf('二次型非正定') End 运行结果: d =-3095/742781/501 5331/619 二次型非正定>> 法二: 程序为:>> a=[2 2 1;2 8 0;1 0 -4]; >> for i=1:3 b=a(1:i,1:i);fprintf('第%d 阶主子式的值为',i) det(b) if(det(b)<0)fprintf('二次型非正定') break end End 运行结果:第1阶主子式的值为 ans =2第2阶主子式的值为ans =12第3阶主子式的值为ans =-56二次型非正定>>4 MATLAB软件在概率论与数理统计中的应用4.1 离散型随机变量的分布离散型随机变量是一个个离散的点,常见的离散分布有两点分布、超几何分布、二项分布和泊松分布.这四种分布很有代表性,它们之间也有联系[3].Matlab提供的函数主要包括四种运算,两点分布很简单,在此不再举例,下面我们看剩余三种分布的例子.例4.1.1[3]设有1000名学生,其中优秀生有300名,随机抽取50名来检查,计算:(1) 其中不多于10名优秀生的概率.绘出这50名学生中优秀生的概率分布图.(2) 其中恰有10名优秀生的概率.绘出随机变量的概率密度分布图.程序为:>> p1=hygecdf(10,1000,300,50)p1 =440/5977>> x=hygeinv(p1,1000,300,50)x =10>> p2=hygepdf(10,1000,300,50)p2 =440/5977>> x=1:50;>> px1=hygecdf(x,1000,300,50);>> px2=hygepdf(x,1000,300,50);>> stairs(x,px1)>> figure,stairs(x,px2)运行结果:510152025303540455000.10.20.30.40.50.60.70.80.91图4-1 优秀生的概率分布051015202530354045500.020.040.060.080.10.120.14图4-2 概率分布密度图例4.1.2 设有一批产品,其中一级品的概率为0.2,现从中随机抽取20个,其中一级品的个数为随机数.根据条件给出一个随机数,然后再根据这个随机数计算一级品率的最大可能性估量值. 程序为:>> x=binornd(20,0.2) >> [p,pci]=binofit(x,20) 运行结果: x =4 p =1/5 pci =120/2093 1078/2469例4.1.3 设有一批零件2000个,其中有30个次品,随机抽取100个产品,求其中次品数x 的概率密度分布.有两种抽取方法:1)不放回抽样,一次抽取100个.2)放回抽样,抽100个. 程序为: >> x=0:20;>> p1=hygepdf(x,2000,30,100); >> p2=binopdf(x,100,0.015); >> p3=poisspdf(x,1.5); >> subplot(3,1,1) >> plot(x,p1,'+') >> title('hygepdf') >> subplot(3,1,2) >> plot(x,p1,'*') >> title('binopdf') >> subplot(3,1,3) >> plot(x,p1,'.') >> title('poisspdf') 运行结果:0246810121416182000.20.4hygepdf0246810121416182000.20.4binopdf024681012141618200.20.4poisspdf图4-3 次品数的概率分布密度图4.2 连续型随机变量的分布连续型随机变量的变化是连续的,连续型随机变量的分布规律有很多种,下面介绍我们常用的正态分布.例 4.2 设随机变量2~(2.5,2)N ξ,求13ξ<<的概率,并在概率密度分布图上画出来随求随机变量的分布情况. 程序为:>> mu=2.5;sigma=4; >> x1=1;x2=3; >> specs=[x1,x2];>> p=normspec(specs,mu,sigma) p =383/1955 运行结果:-15-10-50510152000.010.020.030.040.050.060.070.080.090.1Probability Between Limits is 0.19591D e n s i t yCritical Value图4-4 随机变量分布图 4.3 随机变量的数字特征 4.3.1 数学期望尽管随机变量的分布和密度能很好的描述随机变量的概率分布情况,但不能给出随机变量的其他一些统计特征,而且有时候人们又非常关注这些统计特征.如随机变量的均值和方差,均值反映了随机变量的分布中心,方差反映了随机变量偏离均值的程度.随机变量的这些特征由它们的数字特征给出[4],Matlab 可以很容易的计算这些数字特征.随机变量的数学期望分三类:离散型随机变量、连续型随机变量、随机变量函数的数学期望,下面针对这三类分别举例说明.例4.3.1 计算随机数X=[3,6,7,9,4,5,2,8]的数学期望. 程序为:>> X=[3,6,7,9,4,5,2,8]; >> y=mean(X) 运行结果: y = 5.5000例4.3.2 设随机变量 ()()()10050,00,0xex f x x ξ-⎧>⎪⎨≤⎪⎩ 的分布密度函数为:= ,计算该随机变量的数学期望. 程序为: >> syms x>> fx=50*exp(-100*x); >> Ex=int(x*fx,0,+inf) 运行结果: Ex = 1/200例4.3.3 设随机变量 ()()0.5,(0)0.5,0xxe xf x e x ξ-⎧≤⎪=⎨>⎪⎩ 的分布密度为: , 计算 ηξ= 的数学期望. 程序为: >> syms x>> fx1=0.5*exp(x); >> fx2=0.5*exp(-x);>> Ef=int(-x*fx1,-inf,0)+int(x*fx2,0,inf) 运行结果: Ef = 14.3.2 方差方差是反映随机变量偏离数学期望程度的一个数字特征,Matlab 提供了专门的函数来计算一组数据的方差和标准差.例4.3.2 计算数组 X=[10.3,15.8,16.5,14.4,17.9,17.2]的方差和标准差. 程序为:>> X=[10.3,15.8,16.5,14.4,17.9,17.2]; >> D=var(X,1) >> S=std(X,1)运行结果:D =6.3092S =2.51185 结束语在MATLAB软件环境下,数学问题中的条件可变性和运算的快速自动化特点,既激发了学生的学习热情,也有利于将思考的焦点转移到更富有创造性的方案设计和深层次的思考方面.而问题的直观性和几何性突破,使学生便于接受,易于理解,也扩展了传统的思考方式,促进了教学过程的研究性,起到了传统方法不可替代的作用.恰当结合理论教学使用MATLAB的强大功能,将使数学教学变得更轻松自如,更能体现数学的直观性和趣味性,让学生对数学的学习产生更加浓厚的兴趣,也逐步锻炼学生用数学知识解决实际问题的能力,也是学生提高应用技能的有力尝试,而高速快捷的计算通道的建立,无疑给数学的应用如虎添翼.提高数学软件在高等数学中的应用能力是一项很大的系统工程,需要持之以恒的努力,希望有更多的同学能够认识和了解Matlab.参考文献:[1] 葛哲学,精通MATLAB[M].北京:电子工业出版社,2008:176-180.[2] 龚纯,王正林.MATLAB语言常用算法程序集[M].北京:电子工业出版社,2008:20-22/142-156.[3] 何正风.MATLAB在数学方面的应用[M].1版.北京:清华大学出版社,2012:1-36/144-154.[4] 石博强,腾贵法,李海鹏,郭立芳.MATLAB数学计算范例教程[M].1版.北京:中国铁道出版社,2004:29-74.[5] 董辰辉,彭雪峰.MATLAB2008全程指南[M].1版.北京:电子工业出版社,2009:43,159.[6] 王向东,戎海武,文鞍. 数学实验[M ]. 北京:高等教育出版社, 2004:76-98.[7] 罗建军,杨琦,冯博琴.精讲多练MATLAB[M].2版.西安:西安交通大学出版社,2010:84-88.[8] 张铮,杨文平,石博强.MATLAB程序设计与实例应用[M].北京:中国铁道出版社,2006:210-211.[9] 李心灿.高等数学[M].2版.北京:高等教育出版社,2003:27-48.[10]张学敏,倪虹霞.MA TLAB基础及应用[M].1版.北京:中国电力出版社,2009:153-158.。
MATLAB在高等数学教学中的应用【摘要】本文主要介绍了MATLAB在高等数学教学中的应用。
通过对微积分、线性代数、概率论与数理统计、常微分方程和数学建模等领域的具体应用展开讨论,分析了MATLAB在教学中的优势和作用。
在微积分教学中,MATLAB可以帮助学生更直观地理解数学概念,提高问题求解的效率;在线性代数教学中,可以进行矩阵运算、线性方程组求解等;在概率论与数理统计教学中,可以进行统计分析和模拟实验等;在常微分方程教学中,可以进行数值解法验证和实例演示等;在数学建模教学中,可以帮助学生将数学知识应用到实际问题中。
MATLAB在高等数学教学中的应用是多方面的丰富多彩的,对学生的学习和理解提供了更广阔的空间和机会。
【关键词】MATLAB, 高等数学, 教学, 应用, 微积分, 线性代数, 概率论, 数理统计, 常微分方程, 数学建模, 多方面, 丰富, 多彩1. 引言1.1 MATLAB在高等数学教学中的应用MATLAB在高等数学教学中的应用是非常广泛和多样化的。
通过使用MATLAB软件,教师能够更好地展示数学知识,帮助学生更好地理解和掌握数学概念。
在微积分教学中,MATLAB可以用来绘制函数图像、计算极限、导数和积分,帮助学生直观地理解微积分的概念和应用;在线性代数教学中,MATLAB可以用来求解线性方程组、计算矩阵的特征值和特征向量,帮助学生更好地理解线性代数的基本概念和方法;在概率论与数理统计教学中,MATLAB可以用来进行概率分布的可视化、参数估计和假设检验,帮助学生更好地理解和应用概率统计知识;在常微分方程教学中,MATLAB可以用来求解常微分方程的初值问题和边值问题,帮助学生更好地理解微分方程的基本概念和解法;在数学建模教学中,MATLAB可以用来建立数学模型、进行数值模拟和优化求解,帮助学生更好地运用数学知识解决实际问题。
MATLAB在高等数学教学中的应用是多方面的丰富多彩的,可以极大地丰富教学内容,提高教学效率,激发学生学习兴趣,促进数学素养的提升。