Matlab在高等数学和线性代数中的应用
MATLAB06Matlab在线性代数中的应用PPT课件

第零个月#0 :一开始只有一对兔子 第一个月#1 :经过一个月,两只兔子都有繁殖能力,
但是怀孕期是一个月,所以还是只有一对兔子。 第二个月#2 :经过两个月後,原来两只兔子生出一对
一公一母的兔子,所以现在有两对兔子。 第三个月#3 :经过三个月後,最开始的一对兔子又生
出一对兔子,但第二对兔子才刚有繁殖能力,所以 现在是三对兔子。 第四个月#4 :以此类推,现在是五对兔子。 第五个月#5 :以此类推,现在是八对兔子。
通常,矩阵除法可以理解为
X=A\B X=B/A
<==> A*X=B <==> X*A=B
A 和 B 行数相等时才可进行左除
A 和 B 列数相等时才可进行右除
(3)用矩阵除法求解求解恰定方程
Ax = b x = A\b
利用除法求解时,不用 先对矩阵A求逆,而是 直接进行计算,即保证 计算的精度,又节省大 量的计算时间。
F n A*F n, 其中:
a1 a2
1
0
A0 1
0 0
a3 0 0
1
am
0
0
0 m m
f n 1
,
F
n
f
n
2
f n m m 1
于是:
F n A * F n 1 A2 * F n 2 AkF n k AniF i
例:Fibonacci序列
在1202年,Fibonacci 注意到了一个兔 子的繁殖问题,他假设一开始有一只公的兔 子与一只母的兔子刚出生,每只兔子再经过 一个月後就有繁殖能力,而兔子的怀孕期是 一个月,而一旦母兔子拥有繁殖能力时,它 每个月都会生产,而且生出来的兔子是一公 一母,最後一个条件是,兔子不会死掉。在 这种理想状况下,问题来了:经过一年(十 二个月)後,总共运算高
matlab软件在高等数学教学课堂上的应用

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在高等数学中的应用一、前言部分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的控制设计方法,如PID控制、状态反馈控制等,可以 设计出有效的控制系统。
THANKS
感谢观看
利用Matlab的图像处理函数,可以从图像中提取 特征,如边缘、角点等,用于目标检测和识别。
在控制系统中的应用
系统建模
使用Matlab的控制系统工具箱,可以对系统进行建模,如线性时 不变系统、非线性系统等。
系统分析和仿真
通过Matlab的控制系统函数,可以对系统进行稳定性分析、控制 性能分析和仿真测试。
向量运算
向量的基本运算
包括向量的加法、减法、数乘、向量的模等。
向量的内积和外积
内积和外积是描述向量之间关系的运算,用于计算向量的长度、角 度等。
向量运算的实际应用
向量运算在物理、工程等领域有广泛应用,如描述物体运动轨迹、计 算力的合成等。
特征值与特征向量
01
特征值和特征向量 的定义
特征值和特征向量是描述矩阵特 性的重要概念,用于描述矩阵变 换的性质。
04
Matlab在线性代数中的优势与 局限性
优势
高效计算能力
Matlab提供了强大的矩阵运算 和数值计算功能,使得线性代
数问题的求解更加高效。
可视化工具
Matlab内置了丰富的可视化工 具,可以直观地展示线性代数 中的向量、矩阵和线性变换等 概念。
易于学习和使用
Matlab的语法相对简单,使得 线性代数运算变得容易理解和 实现。
解的精度和稳定性
Matlab在线性方程组求解过程中考虑了精 度和稳定性问题,能够提供可靠的解。
向量运算和特征值问题
向量运算
Matlab支持向量的基本运算 ,如加法、减法、数乘、点 积等。
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在高等数学教学中的应用

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分解等方法。
MATLAB在高等数学中的应用

所谓三角分解就是将一个方阵表示成两个基本三角阵的
乘积(A=LU),其中一个为下三角矩阵L,另一个为上三角形
矩阵U,因而矩阵的三角分解又叫LU分解或叫LR分解。矩阵
A {aij }nn
分解的两个矩阵分别可表示为:
x
p
i
x
p i
p
第 3 章 MATLAB在高等数学中的应用
x1 x2 2 x3 2 3 x1 x2 x3 6 x 3 x 4 x 4 2 3 1
第 3 章 MATLAB在高等数学中的应用
>> %创建线性方程组的系数矩阵和向量
>> A = [-1 1 2; 3 -1 1; -1 3 4]; >> b = [2;6;4]; >> %求解方程,使用矩阵求逆的方法
第 3 章 MATLAB在高等数学中的应用
⑶ norm(A,inf) 返回值max(abs(A))。
2.矩阵求逆及行列式值 ⑴矩阵求逆函数inv及行列式值函数det 逆矩阵的定义:对于任意阶 n×n 方阵A,如果能找到一
个同阶的方阵V,使得满足:A*V=I。其中I为n阶的单位矩阵
eye(n)。则V就是A的逆矩阵。数学符号表示为:V=A-1。逆 矩阵V存在的条件是A的行列式不等于0。 格式:V=inv(A) 功能:rm函数实现,p缺省时为p=2。
第 3 章 MATLAB在高等数学中的应用
格式:n=norm(A)
功能:计算矩阵A的最大奇异值,相当于
n=max(svd(A))。 格式:n=norm(A,p)
功能:norm函数可计算几种不同类型的矩阵范数,根据p
的不同可得到不同的范数。 ⑴ p=1时,计算矩阵A的1范数,即矩阵A按列求和的最 大值,max(sum(abs(A)))。
MATLAB软件在高等数学中的应用探索

目录摘要 (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在高等数学教学中的应用是多方面的丰富多彩的,对学生的学习和理解提供了更广阔的空间和机会。
【关键词】MATLAB, 高等数学, 教学, 应用, 微积分, 线性代数, 概率论, 数理统计, 常微分方程, 数学建模, 多方面, 丰富, 多彩1. 引言1.1 MATLAB在高等数学教学中的应用MATLAB在高等数学教学中的应用是非常广泛和多样化的。
通过使用MATLAB软件,教师能够更好地展示数学知识,帮助学生更好地理解和掌握数学概念。
在微积分教学中,MATLAB可以用来绘制函数图像、计算极限、导数和积分,帮助学生直观地理解微积分的概念和应用;在线性代数教学中,MATLAB可以用来求解线性方程组、计算矩阵的特征值和特征向量,帮助学生更好地理解线性代数的基本概念和方法;在概率论与数理统计教学中,MATLAB可以用来进行概率分布的可视化、参数估计和假设检验,帮助学生更好地理解和应用概率统计知识;在常微分方程教学中,MATLAB可以用来求解常微分方程的初值问题和边值问题,帮助学生更好地理解微分方程的基本概念和解法;在数学建模教学中,MATLAB可以用来建立数学模型、进行数值模拟和优化求解,帮助学生更好地运用数学知识解决实际问题。
MATLAB在高等数学教学中的应用是多方面的丰富多彩的,可以极大地丰富教学内容,提高教学效率,激发学生学习兴趣,促进数学素养的提升。
matlab在高数中的应用

◆ yi=interp1(x,y,xi)
对一组点(x,y) 进行插值,计算插值点xi的函数值 。x为节点向量值,y为对应的节点函数值。如果 y 为矩阵,则插值对y 的每一列进行,若y 的维数 超出x 或 xi 的维数,则返回NaN。
◆ yi=interp1(y,xi) 此格式默认x=1:n ,n为向量y的元素个数
P1= polyfit (x, y, 2); %选择二阶多项式进行拟
合
P=
-9.8108 20.1293
-0.0317
函数返回的是一个多项式系数的行向量, 写成多项式形式为:
9.8108x2 20.1293x 0.0317
%为了比较拟合结果,我们绘制两者的图 >> x1=linspace (0, 1, 100); %绘图的X-轴数据 >> y1=polyval (p1, x1); %得多项式在数据点的值
3.4 函数分析与数值积分
函数的零极点分析 1 单变量函数求极小值函数fminbnd
基本格式:x=fminbnd(‘fun’,x1,x2)
2 单变量函数求极小值函数fminsearch
基本格式:x= fminsearch (‘fun’,x0)
3 单变量函数零点分析函数fzero 基本格式:x=fzero(‘fun’,x0)
值,或等于矩阵y的size(y,1)。 ◆ yi=interp1(x,y,xi,’method’) method用来指定插值的算法。默认为线性
算法。其值常用的可以是如下的字符串。
● nearest 线性最近项插值。 ● linear 线性插值。 ● spline 三次样条插值。 ● cubic 三次插值。
Matlab在线性代数中的应用

Matlab 软件在线性代数的应用
11
(3)矩阵的输入 A=[2,3,5;1,3,5;6,9,4] %行之间要用分号隔开 A= 2 3 5 1 3 5 6 9 4 m=input('请输入初始量,m='); 请输入初始量,m= 问题:输入A(2,3),结果如何?输入A(7)又如何? 注意:变量名开头必须是英文字母,变量名对字母 大小写是区分的.
环境中。在这里可以实现工程计算、算法研究、符
号运算、建模和仿真、原型开发、数据分析及可视
化、科学和工程绘图、应用程序设计(包括图形用户
界面设计)等等功能。
2017年4月6日星期四
Matl出的优势,它现在已 成为世界上应用最广泛的工程计算软件。在美国等发 达国家的大学里MATLAB是一种必须掌握的基本工具, 而在国外的研究设计单位和工业部门,更是研究和解
2017年4月6日星期四
Matlab 软件在线性代数的应用
19
7.联机求助 例: help sqrt %将显示出平方根sqrt 命令的功能和使用方式
2017年4月6日星期四
Matlab 软件在线性代数的应用
20
8. 数据格式命令说明
format short 1.4142 短格式,显示5位 format long 1.41421356237310 长格式,显示15位 format short e 1.4142e+000 最优化短格式,5位加指数 format long e 1.41421356237310 e+000 最优化长格式,15 位加指数 format hex 3ff6a09e667f3bed 十六进制,货币银行格式, 小数点后2位 format bank 1.41 货币银行格式,小数点后2位 format rat 1395/985 有理格式 format + + 紧密格式,显示数据+,-,
matlab在工程数学中的应用

matlab在工程数学中的应用
MATLAB是一种数学软件,可以在工程和科学领域提供广泛的功能和工具,包括数值计算、数据分析、可视化和算法开发等。
以下是一些 MATLAB 在工程数学中的应用:
1. 数值计算:MATLAB 是一种强大的数值计算工具,可以进行各
种数值计算,包括线性代数、微积分、微分方程、概率统计等。
许多工程问题都可以使用 MATLAB 进行数值求解。
2. 数据分析:MATLAB 具有强大的数据分析工具,可以进行各种
数据可视化和统计分析,如数据探索、回归分析、聚类分析等。
在工程中,MATLAB 可用于数据挖掘、机器学习和人工智能等相关应用。
3. 可视化:MATLAB 提供了各种可视化工具,可以创建各种类型
的图形和图表,如折线图、散点图、柱状图、饼图等,用于表达各种数据和概念。
在工程中,MATLAB 可用于绘制图形、展示数据和模拟仿真。
4. 算法开发:MATLAB 是一种科学计算软件,可以用于开发各种
算法和模型。
在工程中,MATLAB 可用于算法设计和优化、数学模型建立和求解等。
5. 工程仿真:MATLAB 可以用于建立各种工程系统的仿真模型,
如电路、机械、流体等。
在工程中,MATLAB 可用于模拟实验、分析和优化等。
MATLAB 是一种功能强大的数学软件,在工程和科学领域有着广
泛的应用。
1 MATLAB在高等数学和线性代数中的应用

隐函数的偏导数
采用MATLAB语句容易得出:
例
>> syms x y; f=(x^2-2*x)*exp(-x^2-y^2-x*y); simplify(-diff(f,x)/diff(f,y))
ans = (2*x + 2*x*y - x^2*y + 4*x^2 - 2*x^3 - 2)/(x*(x +2*y )*(x - 2))
limit(f,x,a,‘right’or ‘left’):求左、右极限
注意:在求解之前应该先申明自变量x,再定义f,如果a为无 穷大时,用inf直接表示。
limit(f,a):对系统默认变量趋于a时f的极限 limit(f):对系统默认变量趋于零时f 的极限
6
x 2 (2) lim( 1 cot 2 x), (3) lim x(1 a ) x sin b (1) lim 2 , 例3 求极限: x 0 x 2 x x2 x 4 x x
ans = -4+4*2^(1/2)
16
多重积分问题的求解
注意积分顺序,每步积分仍采用int()来处理。
(1) dy ( y sin x x cos y)dx
0
2
>>syms x y; f=y*sin(x)+x*cos(y); >> int(int(f,x,pi,2*pi),y,0,pi) ans = -pi^2
9
3、求导运算 在MATLAB中,求函数的导数或微分由专门的函数 diff()来完成,其调用格式为: diff(f,x,n): 对变量x求n阶导函数, f为符号表达式; diff(f)或diff(f,x):对变量x求一阶导数 diff(z,x)和diff(z,y)为函数 z 对自变量 x 和 y 求一阶偏导数 diff(z,x,n) 表示函数 z 对自变量 x 求 n 阶偏导;
Matlab在线性代数中的应用

A\B <==> A 的逆左乘 B <==> inv(A)*B
2 矩阵的基本运算
• 幂运算 ^ A*A*A=A^5 • 转置 ´ 理论学习中,A的转置表示为AT,在Matlab中用“´”表示
3 行列式与方程组求解
• 相关命令 det(A), 计算矩阵A的行列式 B(: , i)=b, 把向量b赋给矩阵B的第i行 A(i, j), 引用矩阵A中第i行j列的元素 [A, eye(5)], 创建5×10矩阵,前5列为A,后5列为单位矩阵 syms x, 定义x为符号变量
解:这个问题可以用矩阵乘法来描述。令人口变量
Xn
xn yn
,
其中 xn为市区人口所占比例,yn 为郊区人口所占比例。在
n+1年的人口分布状态为:
xn1 yn1
0.95xn 0.05xn
0.15 yn 0.85 yn
用矩阵乘法可写成:
Xn1
xn1 yn1
0.95 0.05
0.15 0.85
D=det(A)
% 计算含符号变量矩阵A的行列式D
f=factor(D)Biblioteka % 对行列式D进行因式分解
% 从因式分解的结果,可以看出方程的解
X=solve(D)
% 求方程“D=0”的解
平面上线性变换的几何意义
• 例 设x为二维平面上第一象限中的一个单位方块,其四个 顶点的数据可写成
x
0 0
1 0
1 1
对角矩阵的幂次可以化为元素的幂次
Ak = pΛp-1pΛp-1 pΛp-1 pΛkp-1
k
xk = Ak x0 = pΛkp-1x0
MATLAB在高等数学中的应用

MATLAB 在高等数学中的应用1 引言在科学技术不断发展的今天,计算机得到迅速发展.计算机的出现归功于数学家的奠基性工作,计算机的发展又为数学的发展提供了威力无比的武器和工具,从而彻底改变了长期以来数学仅仅靠一支笔,一张纸的传统,使数学的应用在广度及深度两方面都达到了前所未有的程度,深刻地影响了数学的发展进程和思维模式,同时也使数学技术成为现今高科技的一个重要组成部分和突出标志. 中国科学院院士王梓坤在《今日数学及其应用》一文中指出“精确定量思维是对21世纪科技人员共同的素质要求。
所谓定量思维就是指人们从实际问题中提炼数学问题,抽象化为数学模型,用数学计算求出此模型的解或近似解,然后回到现实中进行检验,必要时修改模型使之更切合实际,最后编制解决问题的软件包,以便得到更广泛的方便的应用”。
在当前众多数学应用软件中,MATLAB 是一个应用广泛、功能强大的软件.在70年代后期,Cleve Morler 博士编写了MATLAB .1984年, Cleve Morler 和John Little 成立Math Works 公司,正式把MA TLAB 推向市场,并对MA TLAB 进行不断的开发.MATLAB 已经发展成为适合多学科的功能强大的大型软件.在欧美等高校,MA TLAB 已经成为线性代数,自动控制理论,数理统计,数字信号处理,动态仿真等高级课程的基本教学工具,同时被研究单位和工业部门广泛应用,使科学研究和解决各种具体问题的效率大大提高.MA TLAB 提供了专业水平的数值计算,符号计算和图形可视化等功能,它几乎可以解决实际应用中出现的绝大多数的数值计算问题,如数据分析,曲线拟合,数值分析等.MA TLAB 软件不仅能够进行简单的数值计算,还能进行求导,积分,解方程,求特征值和特征向量等符号计算,并且MA TLAB 的图形功能强大,既包括对二维和三维数据可视化,图像处理,动画制作等高层次的绘图命令,也包括可以完全修改图形局部及编制完整图形界面的低层次的绘图命令.MATLAB 作为数学软件用于解决高等数学中一些计算问题和绘图问题,给学生一种全新的感觉,激发起学习的兴趣,加深对所学知识的理解,使学生对数学发展现状及应用有切实的体会. 如在高等代数中,矩阵的幂方和除法是两个计算量比较大而且容易出错的运算,尤其是幂方,而这些在MATLAB 中都会很快又准确的得出结果.例1 已知A=⎪⎪⎪⎭⎫ ⎝⎛01410141061062,求A 3.应用MATLAB 命令:A=[2 6 10;6 10 14;10 14 0]^3ans=2592 4416 43684416 7392 67684368 6768 3840上面的例题已经体现出MATLAB 的优势.同样在令很多人头疼的绘图上MA TLAB 也能很快给出符合要求而精确的图形.例2 作出螺旋线t z t y t x ===,cos ,sin 的图形.应用MATLAB 命令:>> t=0:pi/50:10*pi; >>plot3(sin(t),cos(t),t)通过上面的例题使学生在心理上对高等数学的学习不再感到枯燥,将书本上学习的高等数学知识变成计算机语言很快就能得出结果,即使是需要费时的计算和绘图,这些都有助于学生自觉的将MATLAB 应用在高等数学的学习中.以下介绍MA TLAB 在高等数学中的应用.2 微积分方面数值分析主要讨论有关函数的极值问题,零点问题以及微积分问题等,MATLAB 提供了大量的解决上述数值分析任务的函数.2.1 极值函数MATLAB 的主要极值函数是fminbnd ,该函数的常用调用格式为:X=fimnbnd(FUN,X1,X2)其中输入参数FUN 为欲求极值的函数,X1,X2为求极值的范围.例3求函数xcot在[1,2]上的极值.应用MATLAB命令:>>y=fminbnd('cot',1,2)>>y=1.9999如何求函数的极大值?思考一下.2.2求根函数函数fzero为求根函数,其调用格式为:X=fzero(FUN,X0)其中输入参数FUN为欲求根的函数,当X0为一个数值时,将得到X0最近的方程的根,当X0为两个数值时,将求出两个元素之间的方程的根.例4求函数xcot在1附近的零点,在区间[1,2]中的零点.应用MATLAB命令:>>x=fzero('cot',1)>>x=1.5708>>x=fzero('cot',[1,2])>>x=1.57082.3数值积分函数MATLAB中的数值积分函数是quad,其调用格式为:Q=quad(FUN,A,B)将求出函数FUN在A和B之间的积分结果.例5求21sin xdx.应用MATLAB命令:>> q=quad('sin',1,2)q =0.95642.4微分函数Diff(s)对符号表达式s对自变量的积分.Diff(s,'v')对以v为自变量的符号表达式s求微分.Diff(s,'v',n) 其中n 为正整数,对函数表达式s 求n 阶微分.例6 求sint 2的一阶微分,t 7的七阶微分.应用MATLAB 命令:>> t=sym('t');>> u=sym('u');>>diff(sin(t^2))ans =2*cos(t^2)*t>> diff(t^7,7)ans =5040在高等数学中函数列的一致收敛性概念比较抽象难理解,而借助MATLAB 强大的绘图功能就能形象直观的理解一致收敛性并对函数列的一致收敛性进行判别.例7 已知如下三个函数序列:];5,0[},{)}({2∈=-x e nx x f nx n];1,0[},{)}({222∈=-x xe n x g x n n).,0[},)1(1{)}({22222+∞∈+-=x x n x n x h n 通过作出它们的图象,根据一致收敛的几何意义来观察它们的一致收敛性 .(1) 作出)}({x f n 的一族曲线如下:应用MATLAB 命令:hold on; x=0:0.02:5; for n=1:8y=n*x.^2.*exp(-n.*x); plot(x,y); end;图1由图1可见, )}({x f n 中每条曲线的峰值随着∞→n 而趋于0 , 故)}({x f n 能在[ 0, 5 ]上一致收敛于0.(2) 作出)}({x g n 的一族曲线如下:应用MATLAB 命令:clf;hold on;x=0:0.01:1;for n=5:-1:1y=n^2*x.*exp(-n^2*x.^2);plot(x,y);end图2 由图2可见,)}({x g n 中每条曲线的峰值随着∞→n 而趋于∞+ 故在0=x 的任意小右邻域内, )}({x g n 不可能一致收敛;但是对任意小的正数a , )}({x g n 在[a , 1 ]上仍有可能一致收敛于0.(3) 作出)}({x h n 的一族曲线如下:应用MATLAB 命令:>>clf;>>hold on;>>x=0:0.01:3;>>for n=1:1:5y=(1-n^2*x.^2)./(1+n^2*x.^2).^2;plot(x,y);end ;图3由图3可见,极限函数在0=x 处不连续,故在0=x 的任意小右邻域内, )}({x h n 不可能一致收敛;但在任何),0[),[+∞⊂+∞a 上,)}({x h n 仍有可能一致收敛于0.在高等数学中幂级数求和函数手算比较困难,应用MATLAB 求和函数就会很快求出和函数.例8 求幂级数∑∞=-2)1(k kk k x 的和函数S2.应用MATLAB 命令:syms k xS2=symsum('x^k/k/(k-1)',k,2,inf)S2 = 1/2*x^2*(2/x*(-log(1-x)/x-1)*(x-1)-1/(x-1)*(-2*x+2))S2=simplify(S2) (将S2简化)S2 = -log(1-x)*x+log(1-x)+x在上面的例题中应用MATLAB 对高等数学中出现的一些复杂计算和函数项序列一致收敛进行判别,体现了MATLAB 在高等数学中的应用.3 矩阵MATLAB 的数学能力大部分是从它的矩阵函数中派生出来的,在MA TLAB 中提供了丰富的矩阵运算函数,包括所有的标准的线性代数中使用到的矩阵函数.3.1 计算行列式、秩Det 计算矩阵行列式的值Rank 函数计算矩阵的秩. n=1n=5例9 A=⎪⎪⎪⎪⎪⎭⎫ ⎝⎛1097591086781075675,求|A|,rank(A). 应用MATLAB 命令:>> A=[5 7 6 5 ;7 10 8 7;6 8 10 9;5 7 9 10];>> det(A)ans =1>> rank(A)ans =43.2 特征值的计算eig (A) 计算矩阵的特征值如果A是n n *矩阵,若λ满足AX=λX,则称λ为A的特征值.例10 A= ⎪⎪⎪⎪⎪⎭⎫ ⎝⎛86109638715435442 ,求A 的特征值. 应用MATLAB 命令: >>A=[2 4 4 5;3 4 5 1;7 8 3 6;9 10 6 8];>>eig=(A)ans =20.4983-3.4064-1.31331.2214如果还要求特征向量,则可以用eig (A)函数的第一个返回值得到.应用MATLAB 命令:>> [X,D]=eig(A)X =-0.3659 -0.6486 0.7050 0.4314-0.2674 -0.2135 -0.6239 -0.7569-0.5175 0.6321 0.2781 0.0644-0.7258 0.3664 -0.1905 0.4868D =20.4983 0 0 00 -3.4064 0 00 0 -1.3133 00 0 0 1.2214在MATLAB 中特征值和特征向量的求解过程体现了矩阵作为MA TLAB 的基本计算单位在进行矩阵运算时是很简便的.4 方程和方程组“方程是很多工程和科学工作的发动机”.若干世纪以来,工程师和科学家们花了大量的时间用于求解方程(组).数学家研究各种各样的方程求解方法.MATLAB 为求解方程(组)提供了便利条件.4.1 方程MA TLAB 的命令输入格式:solve('eqn1','eqn2'…,'eqnN','var1','var2',…'varN')其中eqni 表示第i 个方程,vari i 表示第i 个变量,i=1,2,…,N .在求解多项式方程时还可以用MATLAB 函数roots(p),其中p 是多项式的系数按降幂排列所形成的n+1维列向量,它能够给出全部根(包括重根).避免在高等数学日常计算中出现的丢根情况.例11 求解多项式方程0189=++x x .应用MATLAB 命令:>> P=[1,1,0,0,0,0,0,0,0,1];>> roots(P)ans =-1.2131-0.9017 + 0.5753i-0.9017 - 0.5753i-0.2694 + 0.9406i-0.2694 - 0.9406i0.4168 + 0.8419i0.4168 - 0.8419i0.8608 + 0.3344i0.8608 - 0.3344i4.2 方程组4.2.1 线性方程组除了使用MA TLAB 函数solve 以外,还可以用其他MATLAB 命令.如将线性方程组写成矩阵形式A*X=b ,其中A为m*n 阶方阵,X 和b 均为n 阶列向量.例12 解线性方程组⎪⎪⎪⎪⎪⎭⎫ ⎝⎛852*********X=⎪⎪⎪⎪⎪⎭⎫ ⎝⎛514351804366 .应用MATLAB 命令: >> A=[1 2 3;4 5 6;7 8 0;2 5 8];>>b=[366 804 351 514]';>> x=A\bx =247.9818-173.1091114.92734.2.2 非线性方程组非线性方程组可以用solve( )函数进行求解,一般给出的是数值解,也可以用fsolve( )进行求解,输入格式为fsolve('FUN',X0)其中FUN 表示M 文件函数,X0表示变量的初始点.下面用MATLAB 求解一个比较复杂的非线性方程组.例13 解非线性方程组⎪⎩⎪⎨⎧=-++=+-+=-++05012307ln sin 32z y x z x z y x y .应用MATLAB 命令:function eq=nxxf(x)global number;number=number+1;eq(1)=sin(x(1))+x(2)^2+log(x(3))-7;eq(2)=3*x(1)+2^x(2)-x(3)^3+1;eq(3)=x(1)+x(2)+x(3)-5;global number;number=0;y=fsolve('nxxf',[1,1,1])y =0.5991 2.3959 2.00505 微分方程微分方程是高等数学中一个比较重要的分支,它的应用也比较广泛,使用MATLAB 软件就可以方便地求出它的各种形式的解.5.1 解析解求微分方程的解析解的MATLAB 命令:dsolve('eqn1','eqn2',…,'x')其中'eqni'表示第i 个方程,'x'表示微分方程组中的自变量.除了用MA TLAB 求解一阶微分方程外,也可以解决较复杂的二阶微分方程.例14 求解二阶微分方程2x y ''x +y '2/1,/2)2/(),2/(,0)(22==-'==-+n y y y n x πππ.应用MA TLAB 命令:>> dsolve('D2y+(1/x)*Dy+(1-(1/2)^2/x^2)*y=0','y(pi/2)=2','Dy(pi/2)=(-2/pi)','x')ans =2^(1/2)*pi^(1/2)/x^(1/2)*sin(x)5.2 数值解在没有解析解的情况下就要求数值解.求解微分方程(组)数值解,用2阶龙格-库塔公式和4阶龙格-库塔公式,其程序为:[t,y]=ode23('F',ts,y0,options) [t,y]=ode45('F',ts,y0,options)其中F 为由微分方程(组)写成的M 文件名.例15 求方程0)(222=-+'+''y n x y x y x 的数值解.应用MATLAB 命令: function f=jie3(x,y)f=[y(2);-y(2)/x+((1/2)^2/x^2-1)*y(1)]; >> [x,y]=ode23('jie3',[pi/2,pi],[2,-2/pi]) x = 1.5708 1.6074 1.7645 1.9215 2.0786 2.2357 2.3928 2.5499 2.7069 2.8640 3.0211 3.1416 y =2.0000 -0.6366 1.9758 -0.6869 1.8518 -0.8879 1.6982 -1.0631 1.5192 -1.2108 1.3193 -1.3293 1.1032 -1.4174 0.8756 -1.4744 0.6416 -1.5002 0.4060 -1.4951 0.1735 -1.46020.0002 -1.4140>> y1=y(:,1);>> y2=y(:,2);>> plot(x,y1,x,y2,'r'),gtext('y1'),gtext('y2')6插值MATLAB中的插值函数为interpl( ),其调用格式为yi=interpl(x,y,xi,'method')其中x,y为插值点,yi为在被插值点xi处的插值结果;x,y为向量.'method'表示采用的插值方法.MA TLAB提供的插值方法有几种:'nearest'最邻近插值;'linear'线性插值;'spline'三次样条插值;'cubic'立方插值.用MATLAB插值做一个数学实验.O)例16 在一天24小时内,从零点开始每间隔2小时测得的环境温度数据为(C12,9,9,1,0,18,24,28,27,25,20,18,15,13,推测中午1点(即13点)时的温度.应用MATLAB命令:>> x=0:2:24;>> y=[12 9 9 10 18 24 28 27 25 20 18 15 13];>> x1=13;>> y1=interp1(x,y,x1,'spline')y1 =27.8725O所以,中午1点时的温度大约为27.8725C若要得到一天24小时的温度曲线,只需继续键入:应用MATLAB命令:>> xi=0:1/3600:24;>> yi=interp1(x,y,xi,'spline');>> plot(x,y,'o',xi,yi)7曲线拟合MATLAB中的拟合函数为polyfit( ),其调用格式为:Polyfit(X,Y,n)执行该函数将产生一个n阶多项式P,并且使得P(X)=Y.例17下表展示了来自1985年以来第x年从中国进口到美国的(以百万美元计数)值y (a)求一能近似该数据的线性函数y=b+mx.(b)对每个y求lny,并利用y和lny的值求一个能近似该数据的线性函数lny=b+mx.e的指数函数.(c)利用(b)中的方程求一个能拟合该数据的形为y=a kx年1985 1986 1987 1988 1989 1990 1991第x年0 1 2 3 4 5 6进口值y 3862 4771 6293 8511 11990 15237 18976应用MATLAB命令:(a)线性拟合x=[0:6];>> y=[3862 4771 6293 8511 11990 15237 18976];>> plot(x,y,'o')>> hold on>> f1=polyfit(x,y,1)f1 =1.0e+003 *2.5704 2.2374 >> y1=polyval(f1,x); >> plot(x,y1,'r')线性拟合函数拟合效果(b) 对数线性拟合 f2=polyfit(x,log(y),1) f2 =0.2765 8.2275 >> y2=polyval(f2,x); >> hold on >> plot(x,log(y),'o') >> plot(x,y2,'k')对数线性函数拟合效果(c) 由(b)可知,xey 2756.05.3742plot(x,y,'o')>> hold on>> plot(x,3742.5*exp(0.2756*x))指数拟合效果由拟合效果知指数函数拟合较好.8数学实验数学实验是对实际生活中的数学问题的解决,提出问题并进行探究、思考、分析等思维活动,最终理解并解决问题,提出想法借助于数学软件实现.培养学生的独立能力和创新精神.波音公司飞机最佳定价策略[2](P46-48)全球最大的飞机制造商—波音公司自1955年推出波音707开始.成功地开发了一系列的喷气式客机.问题:讨论该公司对一种新型客机最优定价策略的数学模型.(1) 问题分析定价策略涉及到诸多因素,这里考虑以下主要因素:价格、竞争对手的行为、出售客机的数量、波音公司的客机制造量、制造成本、波音公司的市场占有率等等因素。
Matlab在高等数学和线性代数中的应用

17/53
基础部数学教研室 司守奎
数学 建模
第1讲 Matlab在高等数学和线性代数中的应用
例 5 在 xoy 平 面 上 有 一 段 曲 线 , 其 方 程 为 1 2 y ( x 2ln x ),1 x 4,画出此曲线绕 oy 轴旋转所得 4 到的旋转曲面,并求旋转面面积的数值解(精确值为 。 24 ) 解 旋转面的方程为 1 2 y ( x z 2 ln( x 2 y 2 )) ,1 x 2 z 2 16. 4 旋转面的面积
n1 n2
4/53
基础部数学教研室 司守奎
数学 建模
第1讲 Matlab在高等数学和线性代数中的应用
(2)特殊矩阵 i)单位矩阵 eye(m), eye(m,n) 可得到一个可允许的最大单位矩阵而其余 处补 0, eye(size(a)) 可以得到与矩阵 a 同样大小的单位矩阵。 ii)所有元素为 1 的矩阵 ones(n),ones(size(a)),ones(m,n)。 iii)所有元素为 0 的矩阵 zeros(n),zeros(m,n)。
6/53
基础部数学教研室 司守奎
数学 建模
第1讲 Matlab在高等数学和线性代数中的应用
ⅴ)随机数矩阵 rand(m,n) 产生 m× n 矩阵,其中的元素是服从[0,1]上 均匀分布的随机数。 normrnd(mu,sigma,m,n)产生 m× n 矩阵,其中的元素 是服从均值为 mu, 标准差为 sigma 的正态分布的随机数。 exprnd(mu,m,n) 产生 m× n 矩阵,其中的元素是服从 均值为 mu 的指数分布的随机数。 poissrnd(mu,m,n) 产生 m× n 矩阵, 其中的元素是服从 均值为 mu 的泊松(Poisson)分布的随机数。 unifrnd(a,b,m,n) 产生 m× n 矩阵,其中的元素是服从区间 [a,b]上均匀分布的随机数。
第三讲matlab在线性代数和高等数学中的应用

例. 求方程 x3 4x2 9x 10 0 的所有根 p=[1 -4 9 -10] r=roots(p)
或 s1=sym('x^3-4*x^2+9*x-10'); solve(s1)
2. 求超越方程的根 例. 求方程 p sin x r 的根,其中p,r为常数
计算二重积分
xmax
y max
dx f (x, y)dy
x m in
y min
例. 计算 xydxdy,其中D是由y=1, x=4, x=0, y=0所围成的区域
D
Q = dblquad(inline('x*y'), 0, 4, 0, 1)
1.3 线性方程和非线性方程在MATLAB中的各种求解方法
y3=interp1(x0,y0,x,'nearst');
subplot(2,2,1),plot(x0,y0,'r-p'),title('y=1/(1+x^2)');
subplot(2,2,2),plot(x0,y0,'r-',x,y1),title('linear');
subplot(2,2,3),plot(x0,y0,'r-',x,y2),title('spline');
功能 计算 lim f (x)
xa
计算 lim f (x) x
计算单侧极限 lim f (x) xa
limit(f,x,a, 'left')
计算单侧极限 lim f (x) xa
注意:在左右极限不相等或左右极限有一个不存在时, MATLAB的默认状态是求右极限。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
t h
h [10,10] 时, g (h) 的图形。
cos( t h) (t h) 2 sin(t h) , g (h) f (t , h)dt ,画出
0
10
编写 Matlab 程序如下。
f=@(t,h) exp(t+h).*cos(t+h)+(t+h).^2.*sin(t+h); h=-10:0.1:10; n=length(h); for i=1:n gh(i)=quadl(@(t)f(t,h(i)),0,10); end plot(h,gh) 1.3.3 等高线 例 7 已知平面区域 0 x 1400 , 0 y 1200 的高程数据见表 3(单位: m) 。
1
n1 n2
randperm(n)产生 1 到 n 的一个随机全排列。 perms([1:n])产生 1 到 n 的所有全排列。 1.3 绘图命令 1.3.1 二维绘图命令 二维绘图的基本命令有 plot,loglog,semilogx, semilogy 和 polar。它们的使用方法基 本相同,其不同特点是在不同的坐标中绘制图形。 plot 命令使用线性坐标空间绘制图形; loglog 命令在两个对数坐标空间中绘制图形; 而 semilogx(或 semilogy)命令使用 x 轴 (或 y 轴) 为对数刻度,另外一个轴为线性刻度的坐标空间绘制图形;polar 使用极坐标空间绘制图形。 二维绘图命令 plot 为了适应各种绘图需要,提供了用于控制线色、数据点和线型的 3 组基本参数。它的使用格式如下: plot(x,y,’color_point_linestyle’) 该命令是绘制 y 对应 x 的轨迹的命令。y 与 x 均为向量,且具有相同的元素个数。用字 符串‘color_point_linestyle’完成对上面 3 个参数的设置。 线色 ( r-red, g-green, b-blue, w-white, k-black,i-invisible, y-yellow) ,数据点(., o, x, +,* ,S, H,D ,V ,^, >,<,p)与 线型(-, -.,--,:)都可以根据需要适当选择。 subplot 命令使得在一个屏幕上可以分开显示 n 个不同坐标系,且可分别在每一个坐标 系中绘制曲线。其命令格式如下 subplot(r,c,p) Matlab 函数画图的命令是 fplot。 命令 ezplot 既可以执行符号函数画图,也可以执行匿名函数画图。 例 1 用多种命令画出抛物线 y 3 x 的图形。 clc, clear x=-6:0.05:6; y=3-x.^2; subplot(2,2,1), plot(x,y) yy=@(x)3-x.^2; subplot(2,2,2), fplot(yy,[-6,6]) subplot(2,2,3), ezplot(yy,[-6,6]) subplot(2,2,4), ezplot('3-x^2',[-6,6]), title('')
例 5 在 xoy 平面上有一段曲线,其方16
2 2 1 yx yz dxdz ,
利用 Matlab 程序求得的旋转面面积 S 75.3930 ,旋转面的图形见图 1。
3.5 3 4 3.5 2.5 3 2.5 2 2 1.5 1.5 1 0.5 1 0 4 0.5 2 0 0 -2 0 1 1.5 2 2.5 3 3.5 4 z -4 -4 -2 x 2 4
1 2 ( x 2 ln x) , 1 x 4 ,画出 4 此曲线绕 oy 轴旋转所得到的旋转曲面,并求旋转面面积的数值解(精确值为 24 ) 。 解 旋转面的方程为 1 y ( x2 z 2 ln( x2 y 2 )) , 1 x2 z 2 16 . 4 旋转面的面积
第1讲
Matlab 在高等数学和线性代数中的应用
司守奎 烟台市,海军航空工程学院数学教研室 Email:sishoukui@
1 Matlab 软件入门 1.1 Matlab 帮助的使用 (1)help help %帮助总揽 help elfun %关于基本函数的帮助信息 help exp %指数函数 exp 的详细信息 (2)lookfor 指令 当要查找具有某种功能但又不知道准确名字的指令时, help 的能力就不够了,lookfor 可以根据用户提供的完整或不完整的关键词,去搜索出一组与之相关的指令。 lookfor integral %查找有关积分的指令 (3)超文本格式的帮助文件 在 Matlab 中,关于一个函数的帮助信息可以用 doc 命令以超文本的方式给出,如 doc eig %eig 求矩阵的特征值和特征向量 (4)pdf 帮助文件 可从 MathWorks 网站上下载有关的 pdf 帮助文件。 1.2 特殊向量和特殊矩阵 (1)特殊向量 t=[0:0.1:10] %产生从 0 到 10 的行向量,元素之间间隔为 0.1 t=linspace(n1,n2,n) %产生 n1 和 n2 之间线性均匀分布的 n 个数 (缺省 n 时,产生 100 个数) t=logspace(n1,n2,n) (缺省 n 时,产生 50 个数) %在 10 和 10 之间按照对数距离等间距产生 n 个数。 (2)特殊矩阵 i)单位矩阵 eye(m), eye(m,n) 可得到一个可允许的最大单位矩阵而其余处补 0, eye(size(a)) 可以得到与矩阵 a 同样大小的单位矩阵。 ii)所有元素为 1 的矩阵 ones(n),ones(size(a)),ones(m, n)。 iii)所有元素为 0 的矩阵 zeros(n),zeros(m,n)。 iv)空矩阵是一个特殊矩阵 ,这在线性代数中是不存在的。例如 q=[ ] 矩阵 q 在工作空间之中 ,但它的大小为零。通过空矩阵的办法可以删除矩阵的行与列。 例如 a(:,3)=[] 表示删除矩阵 a 的第 3 列。 ⅴ)随机数矩阵 rand(m,n) 产生 m×n 矩阵,其中的元素是服从[0,1]上均匀分布的随机数。 normrnd(mu,sigma,m,n)产生 m×n 矩阵,其中的元素是服从均值为 mu,标准差为 sigma 的正态分布的随机数。 exprnd(mu,m,n) 产生 m×n 矩阵,其中的元素是服从均值为 mu 的指数分布的随机数。 poissrnd(mu,m,n) 产生 m×n 矩阵,其中的元素是服从均值为 mu 的泊松(Poisson)分布 的随机数。 unifrnd(a,b,m,n) 产生 m×n 矩阵,其中的元素是服从区间 [a,b]上均匀分布的随机数。 ⅵ)随机置换
图 1 原曲线及旋转面图形
3
画图及求解的 Matlab 程序如下 clc, clear y=@(x)(x.^2-2*log(x))/4; subplot(1,2,1),fplot(y,[1,4]) y=@(x,z)(x.^2+z.^2-log(x.^2+z.^2))/4.*(x.^2+z.^2>=1 & x.^2+z.^2<=16); subplot(1,2,2), ezsurf(y), title('') syms x z y=(x^2+z^2-log(x^2+z^2))/4; yx=diff(y,x); yz=diff(y,z); ds=sqrt(1+yx^2+yz^2) f=@(x,z)((x/2 - x./(2*(x.^2 + z.^2))).^2 + (z/2 - z./(2*(x.^2 + z.^2))).^2 + 1).^(1/2).*(x.^2+z.^2>=1 & x.^2+z.^2<16); I=quad2d(f,-4,4,-4,4) %注意这里使用 dblquad 无法求出结果
x2 y 2 1。 4 9
解 椭圆柱面无法化成单支的显函数,必须化成参数方程
x 2 cos t , y 3 sin t , z z.
clc, clear x1=@(t,z)2*cos(t) y1=@(t,z)3*sin(t) z1=@(t,z)z subplot(121), ezsurf(x1,y1,z1), title('') t=0:0.05:2*pi; z=-6:0.1:6; [t2,z2]=meshgrid(t,z); x2=2*cos(t2); y2=3*sin(t2); subplot(122), surf(x2,y2,z2) %比较 ezsurf 与 surf 的差异
表 1 高程数据表
1200 1100 1000 900 800 700 600 500 400 300 200 100 0 1350 1370 1380 1420 1430 950 910 880 830 740 650 510 370 0 1370 1390 1410 1430 1450 1190 1090 1060 980 880 760 620 470 100 1390 1410 1430 1450 1460 1370 1270 1230 1180 1080 880 730 550 200 1400 1430 1450 1480 1500 1500 1500 1390 1320 1130 970 800 600 300 1410 1440 1470 1500 1550 1200 1200 1500 1450 1250 1020 850 670 400 960 1140 1320 1550 1600 1100 1100 1500 1420 1280 1050 870 690 500 940 1110 1280 1510 1550 1550 1350 1400 400 1230 1020 850 670 600 880 1050 1200 1430 1600 1600 1450 900 1300 1040 830 780 620 700 800 950 1080 1300 1600 1550 1200 1100 700 900 800 720 580 800 690 820 940 1200 1600 1380 1150 1060 900 500 700 650 450 900 570 690 780 980 1550 1070 1010 950 850 700 300 500 400 1000 430 540 620 850 1500 900 880 870 810 780 500 200 300 1100 290 380 460 750 1500 1050 1000 900 380 750 550 300 100 1200 210 300 370 550 1550 1150 1050 936 780 650 480 350 150 1300 150 210 350 500 1550 1200 1100 950 750 550 350 320 250 1400