matlab总复习课件

上传人:沈*** 文档编号:181690438 上传时间:2023-01-15 格式:PPT 页数:118 大小:2.25MB
收藏 版权申诉 举报 下载
matlab总复习课件_第1页
第1页 / 共118页
matlab总复习课件_第2页
第2页 / 共118页
matlab总复习课件_第3页
第3页 / 共118页
资源描述:

《matlab总复习课件》由会员分享,可在线阅读,更多相关《matlab总复习课件(118页珍藏版)》请在装配图网上搜索。

1、科学计算与科学计算与MATLABMATLABn1 1 科学计算科学计算数值计算的定义数值计算的定义数值计算的研究过程数值计算的研究过程数值计算的误差分析数值计算的误差分析数值计算的稳定性与收敛性数值计算的稳定性与收敛性n2 MATLAB2 MATLAB简介简介MATLABMATLAB的类别的类别MATLABMATLAB的概述的概述n3 3 课程的要求与学习方法课程的要求与学习方法课程的内容课程的内容课程的要求课程的要求课程的学习与考核课程的学习与考核n教材与主要参考书教材与主要参考书n小结小结n如果存在一适当小的如果存在一适当小的正数正数r,使得,使得则称则称r为为相相对误差限对误差限。例:例

2、:x=15,(x)=2;r(x)=2/15=13.33%y=1000,(y)=5,r(y)=5/1000=0.5%rrxxxxxexe)()(2.有效数字:有效数字:定义:若近似值定义:若近似值x的误差限是某一位的半个的误差限是某一位的半个单位,该位到单位,该位到x的第一位非零数字共有的第一位非零数字共有n位,位,就说就说x有有n位有效数字,位有效数字,x可表示为可表示为其中,其中,a10.且且 a1,a2,an 都是都是 0 9 中的中的任一整数。任一整数。其绝对误差限满足:其绝对误差限满足:mnaaax10.021nmxxxe1021)(例例.测量一物体的长度为测量一物体的长度为954cm

3、,问测量数据的相,问测量数据的相对误差限多大?对误差限多大?解解:因实际问题所截取的近似数,其绝对误差限一因实际问题所截取的近似数,其绝对误差限一般不超过最小刻度的半个单位,故当般不超过最小刻度的半个单位,故当x=954cm时,时,有有(x)0.5cm,而而x的相对误差的相对误差er(x)0.5/954=0.0005241.0.00053=0.053%故故r(x)=0.053%.第二讲第二讲 基础知识(数基础知识(数值、符号计算)值、符号计算)n1 1 MATLABMATLAB的启动与运行的启动与运行MatlabMatlab的启动和退出的启动和退出MatlabMatlab的工作窗口的工作窗口M

4、atlabMatlab的指令行的操作的指令行的操作MatlabMatlab的帮助系统的帮助系统n2 MATLAB2 MATLAB的矩阵与数值计算的矩阵与数值计算MatlabMatlab数据类型数据类型MatlabMatlab的变量及其命名的变量及其命名MatlabMatlab矩阵及其运算矩阵及其运算MatlabMatlab的数组关系的数组关系/逻辑运算逻辑运算MatlabMatlab的多项式运算的多项式运算n3 MATLAB3 MATLAB的符号计算的符号计算n小结小结1.5 Matlab的帮助系统的帮助系统MATLAB帮助命令包括帮助命令包括help、lookfor以及模糊查询以及模糊查询1

5、 help命令命令 在命令窗口中输入在命令窗口中输入help命令将会显示当前帮助系统中所命令将会显示当前帮助系统中所包含的所有项目,即搜索路径中所有的目录名称。也可包含的所有项目,即搜索路径中所有的目录名称。也可以通过以通过help加函数名来显示该函数的帮助说明。加函数名来显示该函数的帮助说明。2 lookfor命令命令 对搜索范围内的对搜索范围内的M文件的第一行进行关键字搜索,条件文件的第一行进行关键字搜索,条件比较宽松。若对比较宽松。若对M文件进行全文搜索,加上文件进行全文搜索,加上-all选项。选项。3 模糊查询模糊查询 MATLAB 6.0以上的版本提供了一种类似模糊查询的以上的版本提

6、供了一种类似模糊查询的命令查询方法,只需要输入命令的前几个字母,然后按命令查询方法,只需要输入命令的前几个字母,然后按Tab键,系统就会列出所有以这几个字母开头的命令。键,系统就会列出所有以这几个字母开头的命令。数值显示格式数值显示格式 任何任何MATLAB的语句的执行结果都可以在屏幕的语句的执行结果都可以在屏幕上显示,同时赋值给指定的变量,没有指定变上显示,同时赋值给指定的变量,没有指定变量时,赋值给一个特殊的变量量时,赋值给一个特殊的变量ans,数据的显,数据的显示格式由示格式由format命令命令控制。控制。format只是影响结果的显示,不影响其计算与只是影响结果的显示,不影响其计算与

7、存储;存储;MATLAB总是以双字长浮点数(双精总是以双字长浮点数(双精度)来执行所有的运算。度)来执行所有的运算。如果结果为整数,则显示没有小数;如果结果不如果结果为整数,则显示没有小数;如果结果不是整数,则输出形式有:是整数,则输出形式有:format(short):短格式(:短格式(5位定点数)位定点数)99.1253format long:长格式(:长格式(15位定点数位定点数)99.12345678900000format short e:短格式:短格式e方式方式 9.9123e+001format long e:长格式:长格式e方式方式 9.912345678900000e+001

8、format bank:2位十进制位十进制 99.12format hex:十六进制格式:十六进制格式符号变量和符号表达式的创建符号变量和符号表达式的创建 MATLAB提供了两个建立符号量的命令:提供了两个建立符号量的命令:syms 和和 sym 说明:说明:1.a1 a2 a3.为需要定义为符号量的标识符,不能是数字、函数表为需要定义为符号量的标识符,不能是数字、函数表达式或方程式。达式或方程式。2.a1 a2 a3.均不用引号界定,而用均不用引号界定,而用空格空格分开。分开。1 用用syms创建符号量创建符号量 格式:格式:syms a1 a2 a3说明:说明:1.输入参量输入参量A可以是

9、数字、字符串也可以是字符串变量名、字符表可以是数字、字符串也可以是字符串变量名、字符表达式或字符方程。达式或字符方程。2.回车后将回车后将A定义成符号量并赋值给标识符。定义成符号量并赋值给标识符。2 用用sym创建符号量、符号表达式创建符号量、符号表达式 格式:标识符格式:标识符=sym(A)3.3.矩阵算法矩阵算法 和和 数组算法数组算法矩阵算法矩阵算法 把矩阵看作一个整体,各种运算完全按照线性代数代表把矩阵看作一个整体,各种运算完全按照线性代数代表的矩阵运算法则进行,运算的书写形式和运算符号都与的矩阵运算法则进行,运算的书写形式和运算符号都与矩阵理论完全相同。矩阵理论完全相同。数组算法数组

10、算法把矩阵看作由其元素构成的一组数据(数组),各种运把矩阵看作由其元素构成的一组数据(数组),各种运算是在参与运算矩阵的对应元素之间进行的数与数的运算是在参与运算矩阵的对应元素之间进行的数与数的运算,这种运算方便对大批数据的处理和一次求出多个函算,这种运算方便对大批数据的处理和一次求出多个函数值。数值。数组算法的运算符主要有数组算法的运算符主要有 .*././.Matlab运算符运算符 算术运算符算术运算符操作符操作符说说 明明+加加 A+B A B必须大小相同,或一个是标量必须大小相同,或一个是标量-减减 A-B A B必须大小相同,或一个是标量必须大小相同,或一个是标量*矩阵乘矩阵乘 A*

11、B A 的列数等于的列数等于B的行数,一个可以是标量的行数,一个可以是标量.*数组乘数组乘 A.*B A B必须大小相同,一个可以是标量必须大小相同,一个可以是标量矩阵左除矩阵左除 AB=A-1*B 等效于等效于A*X=B求求X inv(A).数组左除数组左除 A.B Bij/Aij/矩阵右除矩阵右除 A/B=A*B-1 等效于等效于X*B=A求求X./数组右除数组右除 A./B Aij/Bij矩阵乘方矩阵乘方 Ap A自乘自乘p次次.数组乘方数组乘方 A.p A中每个元素的中每个元素的p次方次方如:如:a=1 2;3 4;b=3 5;5 9c=a+b d=a-bc=d=4 7 -2 -3 8

12、 13 -2 -5a*b=13 23;29 51a/b=-0.50 0.50;3.50 1.50ab=-1-1;2 3a3=37 54;81 118a.*b=3 10;15 36a./b=0.33 0.40;0.60 0.44a.b=3.00 2.50;1.67 2.25a.3=1 8;27 64 只有维数相同的矩阵才能进只有维数相同的矩阵才能进行加减运算。行加减运算。注意只有当两个矩阵中前一注意只有当两个矩阵中前一个矩阵的列数和后一个矩阵个矩阵的列数和后一个矩阵的行数相同时,才可以进行的行数相同时,才可以进行乘法运算。乘法运算。ab运算等效于运算等效于求求a*x=b的解;而的解;而a/b等效

13、于等效于求求x*b=a的解。只有方阵才的解。只有方阵才可以求幂。可以求幂。转置:对于实矩阵用(转置:对于实矩阵用()符号或()符号或(.)求转置结果)求转置结果是一样的;然而对于含复数的矩阵,则(是一样的;然而对于含复数的矩阵,则()将同)将同时对复数进行共轭处理,而时对复数进行共轭处理,而(.)则只是将其排列形)则只是将其排列形式进行转置。式进行转置。4.常用矩阵运算常用矩阵运算逆矩阵与行列式计算逆矩阵与行列式计算求逆求逆:inv(A);求行列式求行列式:det(A)要求矩阵必须为方阵要求矩阵必须为方阵5、矩阵分解、矩阵分解(1)奇异值分解)奇异值分解U,S,V=svd(A)例:例:a=9

14、8 6 8可以验证:可以验证:u*u=Iv*v=Iu*s*v=a求矩阵求矩阵A的奇异值及分解矩阵,满的奇异值及分解矩阵,满足足U*S*V=A,其中,其中U、V矩阵为矩阵为正交矩阵(正交矩阵(U*U=I),),S矩阵为对矩阵为对角矩阵,它的对角元素即角矩阵,它的对角元素即A矩阵的矩阵的奇异值。奇异值。u,s,v=svd(a)u=0.7705 -0.6375 0.6375 0.7705s=15.5765 0 0 1.5408v=0.6907 -0.7231 0.7231 0.6907(2)特征值分解)特征值分解V,D=eig(A)例:例:a=9 8 6 8v,d=eig(a)v=0.7787 -0

15、.7320 0.6274 0.6813d=15.4462 0 0 1.5538求矩阵求矩阵A的特征向量的特征向量V及特征值及特征值D,满足满足A*V=V*D。其中。其中D的对角线的对角线元素为特征值,元素为特征值,V的列为对应的特的列为对应的特征向量。如果征向量。如果D=eig(A)则只返回则只返回特征值。特征值。(3)正交分解)正交分解Q,R=qr(A)例:例:a=9 8 6 8q,r=qr(a)q=-0.8321 -0.5547 -0.5547 0.8321r=-10.8167 -11.0940 0 2.2188将矩阵将矩阵A做正交化分解,使得做正交化分解,使得Q*R=A,其中,其中Q为正

16、交矩阵(其为正交矩阵(其范数为范数为1,指令,指令norm(Q)=1),R为为对角化的上三角矩阵。对角化的上三角矩阵。(4)三角分解)三角分解L,U=lu(A)将将A做对角线分解,使得做对角线分解,使得A=L*U,其中其中L为下三角矩阵,为下三角矩阵,U为上三角矩阵。为上三角矩阵。注意:注意:L实际上是一个实际上是一个“心理上心理上”的下三角矩阵,它事实的下三角矩阵,它事实上是一个置换矩阵上是一个置换矩阵P的逆矩阵与一个真正下三角矩阵的逆矩阵与一个真正下三角矩阵L1(其对角线元素为(其对角线元素为1)的乘积。)的乘积。L1,U1,P=lu(A)例:例:a=1 2 3;4 5 6;7 8 9 比

17、较:比较:l1,u1,p=lu(a)l,u=lu(a)3 3、MATLABMATLAB的符号计算的符号计算 A=sym(A)sum(A)sum(A)det(A)inv(A)eig(A)svd(A)符号计算常规:符号计算常规:1 下面的MATLAB语句中正确的有:a)2api;b)record_1=3+4i c)a=2.0,d)c=1+6j 2.已知水的黏度随温度的变化公式如下,其中a=0.03368,b=0.000221,计算温度t为20,30,40度时的粘度分别是:021atbt0为0水的黏度,值为31.785 10;a、b为常数,分别为0.03368、0.000221。(a)0.0018

18、0.0010 0.0007(b)0.0010 0.0007 0.0005(c)1.7850e-003 1.0131e-003 6.6092e-004(d)1.0131e-003 6.6092e-004 4.6772e-004 第三讲第三讲 基础知识(图基础知识(图形、程序设计)形、程序设计)n1 1 MATLABMATLAB的图形功能的图形功能二维图形的基本函数二维图形的基本函数三维图形的基本函数三维图形的基本函数图形窗口函数图形窗口函数简单动画函数简单动画函数n2 MATLAB2 MATLAB的程序设计的程序设计M M文件介绍文件介绍MatlabMatlab的程序结构的程序结构MatlabM

19、atlab的文件操作的文件操作MatlabMatlab的函数操作的函数操作n小结小结1.1.1 基本二维图形基本二维图形函数函数1:plot:绘制二维数据图形:绘制二维数据图形格式:格式:1.plot(X,S)2.plot(X,Y,S)3.plot(X1,Y1,S1,X2,Y2,S2,.,X3,Y3,S3)说明说明:参数参数S控制数据点的标记、曲线类型和曲线色彩,三者控制数据点的标记、曲线类型和曲线色彩,三者置于一对单引号内。置于一对单引号内。常用的绘图选项常用的绘图选项选选 项项含含 义义选选 项项含含 义义-实线实线*用星号标出数据点用星号标出数据点-虚线虚线.用点号标出数据点用点号标出数

20、据点:点线点线o用圆圈号标出数据点用圆圈号标出数据点-.点划线点划线x用叉号标出数据点用叉号标出数据点b蓝色蓝色+用加号标出数据点用加号标出数据点g绿色绿色s用正方形标出数据点用正方形标出数据点r红色红色D用菱形标出数据点用菱形标出数据点c青色青色V用下三角标出数据点用下三角标出数据点m洋红洋红 用上三角标出数据点用上三角标出数据点y黄色黄色用右三角标出数据点用右三角标出数据点w白色白色H用六角形标出数据点用六角形标出数据点P用五角形标出数据点用五角形标出数据点函数函数2:fplot:绘制:绘制y=f(x)图形图形格式:格式:fplot(fname,lims,S)说明说明:其中其中fname为

21、函数名或单引号界定的函数表达式,为函数名或单引号界定的函数表达式,lims为为x,y的取值范围,的取值范围,S定义与定义与plot函数相同。函数相同。函数函数3:ezplot:绘制隐函数图形:绘制隐函数图形格式:格式:ezplot(f,xmin,xmax,ymin,ymax)说明说明:在区间在区间xminxxmax和和yminyymax绘制绘制f(x,y)=0的图的图形。形。,默认区间默认区间-2x2和和-2y21 f(x,y)=0格式:格式:ezplot(X,Y,tmin,tmax)说明说明:在区间在区间tmin t tmax绘制绘制x=X(t)和和y=Y(t)的图形的图形,默认区默认区间间

22、0t22 x=X(t)y=Y(t)格式:格式:ezplot(f,a,b)说明说明:在区间在区间axb绘制绘制y=f(x)的图形的图形,默认区间默认区间-2x x=1:5;y=1.5 1.8 4 3.4 5.7;a,b=LZXEC(x,y)a=1.0000b=0.2800 常用的线性变换常用的线性变换 函数函数变换后的函数变换后的函数)(xfy BAxykxaey akxylnlnbxaybxay1cbxayacxaby12)(baxcybaxcy21baxcykxakxbycln)ln(kxaxey akxxylnln4、matlab拟合函数拟合函数线性拟合函数线性拟合函数格式:格式:p=li

23、nefit(x,y)说明:说明:x,y 输入同维数据向量输入同维数据向量p 输出拟合多项式的系数向量输出拟合多项式的系数向量多项式拟合函数多项式拟合函数格式:格式:p=polyfit(x,y,m)说明:说明:x,y 输入同维数据向量输入同维数据向量m 拟合多项式次数拟合多项式次数p 输出拟合多项式的系数输出拟合多项式的系数 向量向量4.设y=span1,x,x2,用最小二乘法拟合如下表数据。x0.51.01.52.02.53.0y1.75 2.45 3.81 4.80 8.00 8.60计算的结果为:a)0.4900 1.2501 0.8560b)0.8560 1.2501 0.4900c)-

24、0.6341 3.8189-3.7749d)3.8189-3.7749 2.8533 x=0.5:0.5:3.0;y=1.75,2.45,3.81,4.80,8.00,8.60;a=polyfit(x,y,2)第六讲数值积分与微分第六讲数值积分与微分n引言引言n数值积分数值积分矩形积分近似计算矩形积分近似计算梯形积分近似计算梯形积分近似计算抛物线形积分近似计算抛物线形积分近似计算牛顿牛顿-科茨(科茨(Newton-Cotes)公式)公式自适应(自适应(Simpson)求积法)求积法高斯高斯(Gauss)求积法求积法n数值微分数值微分nMATLAB的积分和微分函数的积分和微分函数n小结小结MAT

25、LAB中提供的积分函数:中提供的积分函数:矩形积分近似计算矩形积分近似计算梯形积分近似计算梯形积分近似计算抛物线形积分近似计算抛物线形积分近似计算牛顿牛顿-科茨(科茨(Newton-Cotes)公式)公式高斯高斯(Gauss)求积法求积法自适应(自适应(Simpson)求积法)求积法龙贝格积分法龙贝格积分法样条函数求积分法样条函数求积分法简单奇异积分简单奇异积分重积分计算重积分计算 4.2 matlab数值计算定积分数值计算定积分格式:格式:Z=trapz(x,y)(1)梯形求积公式梯形求积公式说明说明x,y分别代表数目相同分别代表数目相同 的阵列或矩阵。的阵列或矩阵。y与与x具有一定的函数关

26、系。具有一定的函数关系。格式:格式:I,n=quad(fname,a,b,tol,trace)(2)自适应辛卜生法)自适应辛卜生法说明说明返回参数返回参数I即定积分值,即定积分值,n为被积函数的调用次数。为被积函数的调用次数。fname是被积函数名。定义被积函数须用数值运算符。是被积函数名。定义被积函数须用数值运算符。a和和b分别是定积分的下限和上限。分别是定积分的下限和上限。tol用来控制积分精度,缺省时取用来控制积分精度,缺省时取tol=0.001。trace控制是否展现积分过程,若取非控制是否展现积分过程,若取非0则展现积分过程,则展现积分过程,取取0则不展现,缺省时取则不展现,缺省时取

27、trace=0。格式:格式:I,n=quad8(fname,a,b,tol,trace)(1)Newton-Cotes法法说明说明tol用来控制积分精度,缺省时取用来控制积分精度,缺省时取tol=10-6。其它与。其它与quad相同。相同。该函数可以更精确地求出定积分的值,且计算精度相该函数可以更精确地求出定积分的值,且计算精度相同条件下,函数调用的步数明显小于同条件下,函数调用的步数明显小于quad函数,从而函数,从而保证能以更高的效率求出所需的定积分值。保证能以更高的效率求出所需的定积分值。格式:格式:I,n=quadl(fname,a,b,tol,trace)(4)高斯)高斯-洛巴托(洛

28、巴托(Gauss-Labatto)法)法格式:格式:I=dblquad(fname,xmin,xmax,ymin,ymax,tol,trace)(5)二重积分二重积分 4.3 matlab数值计算微分数值计算微分格式:格式:f=diff(fun)F=diff(fun,x)F=diff(fun,x,n)F=diff(S)F=diff(S,x)F=diff(S,x,n)(1)数值微分和差分数值微分和差分一元函数求导一元函数求导格式:格式:gx,gy=gradient(F)gx,gy=gradient(F,H)nx,ny,nz=surfnorm(X,Y,Z)二元、多元函数求导二元、多元函数求导cle

29、ar all;df1=diff(sin(x);df2=diff(sqrt(x)df3=diff(log(x)df4=diff(log(x*y),x)df5=diff(sin(x*y),y)df6=diff(sin(x*y),x,3)Ans:df1=cos(x)df2=1/2/x(1/2)df3=1/x df4=1/x df5=cos(x*y)*x df6=-cos(x*y)*y3clear all;F=1 1.2 1.4 2.3 5;0-0.6 3 4 2;-1 7 7.2 9 1.4;gx,gy=gradient(F)%计算梯度计算梯度n=surfnorm(F)%计算法向量计算法向量6.用N

30、ewton-Cotes方法计算如下积分 12532xdxx(a)133.6625(b)23.8600(c)87.9027(d)-1.6180 function f=fun(x)f=x.*x.*sqrt(2*x+3)quadl(fun,1,3,1e-10)或quadl(exp(-x/2),1,3,1e-10)或fun=(x)exp(-x/2);quadl(fun,1,3,1e-10)syms xf=(x 3+x 2+x+1)(1/3)-sqrt(x2+x+1)*log(exp(x)+x)/xlimit(f,x,inf)7.y=ln(1+x),求x=1时y的近似值。a)-0.25 b)0.5 c)

31、-0.6137 d)-1.6137 syms xy=log(1+x)f=diff(y,2)subs(f,1)第七讲常微分方程数值解法第七讲常微分方程数值解法n引言引言n欧拉近似方法欧拉近似方法n龙格龙格-库塔库塔(R-K)方法方法nMATLAB的常微分方程函数的常微分方程函数n小结小结4、MATLAB的常微分方程函数的常微分方程函数ode45 ode23 ode113 ode15s ode23s ode23t ode23tb格式格式x,y=ode45(fun,x0,xn,y0,option说明:说明:适用于求解一阶常微分方程组适用于求解一阶常微分方程组fun定义微分方程组的函数文件名定义微分方

32、程组的函数文件名x0,xn求解区域求解区域 y0初始条件向量初始条件向量option可选参数,由可选参数,由ODESET函数设置,比较复杂函数设置,比较复杂x输出自变量向量,输出自变量向量,y输出输出y,y,y,.,.2,1 ),()(iyxfxyiii没有一种算法可以有效地解决所有的没有一种算法可以有效地解决所有的 ODE 问题,因此问题,因此MATLAB 提供了多种提供了多种ODE函数。函数。函数函数ODE类类型型特点特点说明说明ode45非刚性非刚性单步法;单步法;4,5 阶阶 R-K 方法;方法;累计截断误差为累计截断误差为(x)3大部分场合的首选方法大部分场合的首选方法ode23非刚

33、性非刚性单步法;单步法;2,3 阶阶 R-K 方法;方法;累计截断误差为累计截断误差为(x)3使用于精度较低的情形使用于精度较低的情形ode113非刚性非刚性多步法;多步法;Adams算法;高低精算法;高低精度均可到度均可到 10-310-6计算时间比计算时间比 ode45 短短ode23t适度刚性适度刚性 采用梯形算法采用梯形算法适度刚性情形适度刚性情形ode15s刚性刚性多步法;多步法;Gears 反向数值微分;反向数值微分;精度中等精度中等若若 ode45 失效时,可尝失效时,可尝试使用试使用ode23s刚性刚性单步法;单步法;2 阶阶Rosebrock 算法;算法;低精度低精度当精度较

34、低时,计算时当精度较低时,计算时间比间比 ode15s 短短ode23tb刚性刚性梯形算法;低精度梯形算法;低精度当精度较低时,计算时当精度较低时,计算时间比间比ode15s短短例题:用例题:用MATLAB的符号解法的符号解法,求解常微分方程:求解常微分方程:23xdyxyxedx dsolve(Dy+3*x*y=x*exp(-x2)ans=(1/3*exp(-x*(x-3*t)+C1)*exp(-3*x*t)dsolve(Dy+3*x*y=x*exp(-x2),x)ans=exp(-x2)+exp(-3/2*x2)*C1例题:采用例题:采用ODE45求解描述某刚性问题的微分方程:求解描述某刚

35、性问题的微分方程:123121323123(0)0,(0)10.51(0)1yy yyyy yyyy yy function dy=rigid(t,y)dy=zeros(3,1);%行向量行向量dy(1)=y(2)*y(3);dy(2)=-y(1)*y(3);dy(3)=-0.51*y(1)*y(2);options=odeset(RelTol,1e-4,AbsTol,1e-4 1e-4 1e-5);T,Y=ode45(rigid,0 12,0 1 1,options);plot(T,Y(:,1),-,T,Y(:,2),-.,T,Y(:,3),.)legend(y1,y2,y3)例题:用例题:

36、用MATLAB函数函数ode23,ode45,ode113,求解多阶常微分方程求解多阶常微分方程:323232233(1)1,(1)10,(1)30,1,10 xd yd ydyxedxdxdxyyyx12232332333233xdyydxdyydxdyeyydxxxx1223333010000103230 xydYdyYdxdxyexxxfunction dy=myfun03(x,y)dy=zeros(3,1)%初始化变量初始化变量dydy(1)=y(2);%dy(1)表示表示y的一阶导数的一阶导数,其等于其等于y的第二列值的第二列值dy(2)=y(3);%dy(2)表示表示y的二阶导数的

37、二阶导数dy(3)=2*y(3)/x3+3*y(2)/x3+3*exp(2*x)/x3%dy(3)表示表示y的三阶导数的三阶导数%用用ode23 ode45 ode113解多阶微分方程解多阶微分方程clear,clcx23,y23=ode23(myfun03,1,10,1 10 30);x45,y45=ode45(myfun03,1,10,1 10 30);x113,y113=ode113(myfun03,1,10,1 10 30);figure(1)%第一幅图第一幅图plot(x23,y23(:,1),*r,x45,y45(:,1),ob,x113,y113(:,1),+g)%作出各种函数所

38、得结果作出各种函数所得结果legend(ode23解解,ode45解解,ode113解解)title(ODE函数求解结果函数求解结果)figure(2)plot(x45,y45)%以以ode45为例作出函数以及其各阶导数图为例作出函数以及其各阶导数图legend(y,y一阶导数一阶导数,y两阶导数两阶导数)title(y,y一阶导数一阶导数,y二阶导数函数图二阶导数函数图)10.采用ODE45求解如下多阶常微分方程,并求出当x1.8505时的函数值。a)31.6441 b)74.6907 c)118.7862 d)63.2564 323232233(1)1,(1)10,(1)30,1,10 x

39、d yd ydyxedxdxdxyyyx建立求解函数文件myfun03function dy=myfun03(x,y)dy=zeros(3,1)%初始化变量初始化变量dy,该行可以没有,该行可以没有dy(1)=y(2);%dy(1)表示表示y的一阶导数的一阶导数,其等于其等于y的第二列值的第二列值dy(2)=y(3);%dy(2)表示表示y的二阶导数的二阶导数dy(3)=2*y(3)/x3+3*y(2)/x3+3*exp(2*x)/x3%dy(3)表示表示y的三阶导数的三阶导数求解过程:x45,y45=ode45(myfun03,1,10,1 10 30);第八讲非线性方程求根第八讲非线性方程

40、求根n引言引言n二分法二分法n迭代法迭代法nNewton迭代法迭代法nMATLAB的非线性方程求根函数的非线性方程求根函数n小结小结Matlab中中zeroin的算法实现是的算法实现是fzero.x=fzero(FUN,x0)%x0可以是数,或区间可以是数,或区间x=fzero(FUN,x0,options)x,fval=fzero(FUN,x0,options)x,fval,exitflag=fzero(FUN,x0,options)5、MATLAB的非线性方程求根函数的非线性方程求根函数例:例:求方程在求方程在x=0.5附近的根。附近的根。210 xx x=fzero(x2+x-1,0.5

41、)x=0.6180例:采用牛顿下山法求方程在区间例:采用牛顿下山法求方程在区间1.2,2上的一个上的一个根。根。220 xx x=fzero(sqrt(x)-x3+2,0 2)x=1.4759 r=NewtonDown(sqrt(x)-x3+2,1.2,2)r=1.47595.求方程在x=0.5附近的根.21xx a)0.6180 b)-1.1719e-25 c)1 d)-1.6180 第九讲解线性方程组的直接解法第九讲解线性方程组的直接解法n引言引言nGauss消元法消元法n列主元素消元法列主元素消元法n误差分析误差分析nMATLAB的线性方程组求解函数的线性方程组求解函数1n小结小结2、G

42、auss消元法消元法n2.1 基本思想:基本思想:逐步消去未知元,将方程组化为与逐步消去未知元,将方程组化为与其等价的上三角方程组求解。其等价的上三角方程组求解。n2.2 分两步:分两步:第一步第一步:消元过程消元过程,将方程组消元化为等价的上三角形,将方程组消元化为等价的上三角形方程组方程组;第二步第二步:回代过程回代过程,解上三角形方程组解上三角形方程组,得原方程组的得原方程组的解。解。)1()1()1(2)1(22)1(2211212111nnnnnnnnnnbxabxaxabxaxaxa2.3 Gauss消元的目的消元的目的a11x1+a12x2+a1nxn=b1a21x1+a22x2

43、+a2nxn=b2an1x1+an2x2+annxn=bn原始方程组原始方程组约化方程组约化方程组2.4.1 消元过程消元过程(化一般方程组为上三角方程组化一般方程组为上三角方程组)以四阶为例:以四阶为例:其系数增广矩阵为:其系数增广矩阵为:4444343242141343433323213124243232221211414313212111bxaxaxaxabxaxaxaxabxaxaxaxabxaxaxaxa444434241334333231224232221114131211baaaabaaaabaaaabaaaaA第一轮消元:第一轮消元:计算计算3个数个数:m21 m31 m41T

44、=a21 a31 a41T/a11 用用-m21乘矩阵第一行后加到矩阵第二行乘矩阵第一行后加到矩阵第二行;用用-m31乘矩阵第一行后加到矩阵第三行乘矩阵第一行后加到矩阵第三行;用用-m41乘矩阵第一行后加到矩阵第四行乘矩阵第一行后加到矩阵第四行;其系数增广矩阵变为:其系数增广矩阵变为:)()()()()()()()()()()()()(1414414314213134133132121241231221141312111baaabaaabaaabaaaaA)0(11a第二轮消元:第二轮消元:计算计算2个数:个数:m32 m42T=a32(1)a42(1)T/a22(1)用用-m32乘矩阵第二行

45、后加到矩阵第三行乘矩阵第二行后加到矩阵第三行;用用-m42乘矩阵第二行后加到矩阵第四行乘矩阵第二行后加到矩阵第四行;其系数增广矩阵变为:其系数增广矩阵变为:)()()()()()()()()()()(2424424323234233121241231221141312112baabaabaaabaaaaA)0()1(22a第三轮消元:第三轮消元:计算计算:m43=a43(2)/a33(2)用用-m43乘矩阵第三行后加到矩阵第四行乘矩阵第三行后加到矩阵第四行;其系数增广矩阵变为:其系数增广矩阵变为:)()()()()()()()()()(34344232342331212412312211413

46、12113babaabaaabaaaaA)0()2(33a其对应的上三角方程组为其对应的上三角方程组为)()()()()()()()()(3443442342343233124124312321221414313212111bxabxaxabxaxaxabxaxaxaxa 若对于一般的线性方程组若对于一般的线性方程组Ax=b,其消元过程的计算,其消元过程的计算公式为公式为:(k=1,2,n-1)),1(),1,(),1()1()1()()1()1()()1(nkibmbbnkjiamaankiaamkkikkikikkjikkijkijkkkikik)(记ijijaa)0(2.4.2 回代过程

47、回代过程(解上三角方程组解上三角方程组)上三角方程组的一般形式为:上三角方程组的一般形式为:其中其中a11ann0nnnnnnnnbxabxaxabxaxaxa2222211212111)1,2,1()(1niaxabxabxiinijjijiinnnn回代过程的计算公式回代过程的计算公式:定理:定理:约化的主元素约化的主元素ak+1,k+1(k)0(k=0,1,n-1)的充分必要条件是的充分必要条件是 矩阵矩阵A的各阶顺序主子式的各阶顺序主子式不为零。即不为零。即01111 kkkkkaaaaD注:注:对角线上的元素对角线上的元素ak+1,k+1(k)在在Gauss消去法中作消去法中作用突出

48、,称约化的主元素。用突出,称约化的主元素。推论推论:如果如果A的顺序主子式的顺序主子式Dk 0(k=1,n-1),则则Gauss消元法中的约化主元可以表示为消元法中的约化主元可以表示为)1,.,3,2(/1)(1,1111nkDDaDakkkkk例例 用高斯消元法求解方程组用高斯消元法求解方程组 32563034253432321xxx 32303452536432202230445.0064324200445.006432 446245.0432321xxxx1=-13,x2=8,x3=2m21=3/2m31=4/2m32=-3/0.5 clear all;A=2 3 4;3 5 2;4 3

49、 30;b=6 5 32;L,U=lu(A);x=U(Lb)x=-13.0000 8.0000 2.0000MATLAB 处理:处理:线性代数方程组线性代数方程组11 11221331121 1222233221 12233nnnnnnnnnnnA xA xA xA xBA xA xA xA xBA xA xA xA xB可以用矩阵形式表示为可以用矩阵形式表示为111213111212223222123 nnnnnnnnnAAAAxBAAAAxBxBAAAA即:即:则:则:AXBXA B5、MATLAB的线性方程组求解函数的线性方程组求解函数111.求解下列方程组。12341234123412

50、340.40960.12340.36780.29430.40430.22460.38720.40150.11290.15500.36450.19200.37810.06430.42400.17840.40020.27860.39270.2557xxxxxxxxxxxxxxxx a)-0.1819-1.6630 2.2172-0.4467 b)-0.7841-0.0037 2.1994-0.4226 c)-0.4467 2.2172-1.6630-0.1819 d)-0.4226 2.1994-0.0037-0.7841 a=0.4096 0.1234 0.3678 0.2943;0.2246

51、0.3872 0.4015 0.1129;0.3645 0.1920 0.3781 0.0643;0.1784 0.4002 0.2786 0.3927;b=0.4043 0.1550 0.4240-0.2557 x=ab 或x=v(a)*b 第十讲解线性方程组的迭代解法第十讲解线性方程组的迭代解法n引言引言n简单迭代法简单迭代法n赛得尔迭代法赛得尔迭代法n迭代解法的收敛性迭代解法的收敛性 nMATLAB的线性方程组求解函数的线性方程组求解函数2n小结小结格式格式solve(eqn1,eqn2,.,eqnN,var1,var2,.,varN)5、MATLAB的线性方程组求解函数的线性方程组求解

52、函数2223430 xxyyxx格式格式X=fsolve(FUN,X0)Matlab非线性方程组求解非线性方程组求解说明:说明:求解方程形式求解方程形式F(X)=0 X、F可以是向量或矩阵可以是向量或矩阵 X0 初值初值9.求解如下非线性方程组在(x=-1,y=-1)附近的解 a)0.5671 0.5671 b)无解 c)无穷解 d)0 0 22xyxyexye function F=myfun(x)F=2*x(1)-x(2)-exp(-x(1);-x(1)+2*x(2)-exp(-x(2);x=fsolve(myfun,-1,1)第十一章概率统计函数应用第十一章概率统计函数应用MATLAB提

53、供了大量进行概率统计计算的函数工具,如提供了大量进行概率统计计算的函数工具,如随机变量的数字特征、特殊分布的概率计算、参数估计随机变量的数字特征、特殊分布的概率计算、参数估计函数、假设检验函数、方差分析、回归分析和统计图绘函数、假设检验函数、方差分析、回归分析和统计图绘制等。此处主要介绍方差分析和统计图绘制的函数功能。制等。此处主要介绍方差分析和统计图绘制的函数功能。3.1 方差分析方差分析3.1.1 单因素方差分析单因素方差分析单因素方差分析是比较两组或多组数据的均值,它返回原假设单因素方差分析是比较两组或多组数据的均值,它返回原假设均值相等的概率均值相等的概率函数函数 anova1格式格式

54、 p=anova1(X)%X的各列为彼此独立的样本观察值,其元的各列为彼此独立的样本观察值,其元素个数相同,素个数相同,p为各列均值相等的概率值,若为各列均值相等的概率值,若p值接近于值接近于0,则原假设受,则原假设受到怀疑,说明至少有一列均值与其余列均值有明显不同。到怀疑,说明至少有一列均值与其余列均值有明显不同。p=anova1(X,group)%X和和group为向量且为向量且group要与要与X对应对应p=anova1(X,group,displayopt)%displayopt=on/off表示显示与表示显示与隐藏方差分析表图和盒图隐藏方差分析表图和盒图p,table=anova1(

55、)%table为方差分析表为方差分析表p,table,stats=anova1()%stats为分析结果的构造为分析结果的构造说明说明 anova1函数产生两个图:标准的方差分析表图和盒图。函数产生两个图:标准的方差分析表图和盒图。方差分析表中有方差分析表中有6列:列:第第1列列(source)显示:显示:X中数据可变性的来源;中数据可变性的来源;第第2列列(SS)显示:用于每一列的平方和;显示:用于每一列的平方和;第第3列列(df)显示:与每一种可变性来源有关的自由度;显示:与每一种可变性来源有关的自由度;第第4列列(MS)显示:是显示:是SS/df的比值;的比值;第第5列列(F)显示:显示

56、:F统计量数值,它是统计量数值,它是MS的比率;的比率;第第6列显示:从列显示:从F累积分布中得到的概率,当累积分布中得到的概率,当F增加时,增加时,p值减少。值减少。3.1.2 双因素方差分析双因素方差分析函数函数 anova2格式格式 p=anova2(X,reps)p=anova2(X,reps,displayopt)p,table=anova2()p,table,stats=anova2()说明说明 执行平衡的双因素试验的方差分析来比较执行平衡的双因素试验的方差分析来比较X中两个或多个列中两个或多个列(行)的均值,不同列的数据表示因素(行)的均值,不同列的数据表示因素A的差异,不同行的

57、数据表的差异,不同行的数据表示另一因素示另一因素B的差异。如果行列对有多于一个的观察点,则变量的差异。如果行列对有多于一个的观察点,则变量reps指出每一单元观察点的数目,每一单元包含指出每一单元观察点的数目,每一单元包含reps行,如:行,如:reps=2其余参数与单因素方差分析参数相似。其余参数与单因素方差分析参数相似。3.2 概率统计图概率统计图1、最小二乘拟合直线最小二乘拟合直线函数函数 lsline格式格式 lsline%最小二乘拟合直线最小二乘拟合直线 h=lsline%h为直线的句柄为直线的句柄例例 X=2 3.4 5.6 8 11 12.3 13.8 16 18.8 19.9;

58、plot(X,+)lsline2、绘制正态分布概率图形绘制正态分布概率图形函数函数 normplot格式格式 normplot(X)%若若X为向量,则显示正态分布概率图形,若为向量,则显示正态分布概率图形,若X为矩阵,为矩阵,则显示每一列的正态分布概率图形。则显示每一列的正态分布概率图形。h=normplot(X)%返回绘图直线的句柄返回绘图直线的句柄说明说明 样本数据在图中用样本数据在图中用“+”显示;如果数据来自正态分布,则图形显示为显示;如果数据来自正态分布,则图形显示为直线,而其它分布可能在图中产生弯曲。直线,而其它分布可能在图中产生弯曲。例例 X=normrnd(0,1,50,1);

59、normplot(X)3、绘制威布尔、绘制威布尔(Weibull)概率图形概率图形函数函数 weibplot格式格式 weibplot(X)%若若X为向量,则显示威布尔为向量,则显示威布尔(Weibull)概率图形,若概率图形,若X为矩阵,为矩阵,则显示每一列的威布尔概率图形。则显示每一列的威布尔概率图形。h=weibplot(X)%返回绘图直线的柄返回绘图直线的柄说明说明 绘制威布尔绘制威布尔(Weibull)概率图形的目的是用图解法估计来自威布尔分布的数据概率图形的目的是用图解法估计来自威布尔分布的数据X,如果,如果X是威布尔分布数据,其图形是直线的,否则图形中可能产生弯曲。是威布尔分布数

60、据,其图形是直线的,否则图形中可能产生弯曲。例例 r=weibrnd(1.2,1.5,50,1);weibplot(r)4、样本的概率图形、样本的概率图形函数函数 capaplot格式格式 p=capaplot(data,specs)%data为所给样本数据,为所给样本数据,specs指定范围,指定范围,p表示表示在指定范围内的概率。在指定范围内的概率。说明说明 该函数返回来自于估计分布的随机变量落在指定范围内的概率该函数返回来自于估计分布的随机变量落在指定范围内的概率例例 data=normrnd(0,1,30,1);p=capaplot(data,-2,2)p=0.91995、附加有正态密

61、度曲线的直方图、附加有正态密度曲线的直方图函数函数 histfit格式格式 histfit(data)%data为向量,返回直方图为向量,返回直方图和正态曲线。和正态曲线。histfit(data,nbins)%nbins指定指定bar的个数,的个数,缺省时为缺省时为data中数据个数的平方根。中数据个数的平方根。例例r=normrnd(10,1,100,1);histfit(r)8.某公司用某公司用3台轧机来生产规格相同的铝合金薄板。取样测量薄板的台轧机来生产规格相同的铝合金薄板。取样测量薄板的厚度,精确至厚度,精确至厘米。得结果如下:厘米。得结果如下:轧机轧机1:0.236 0.238 0

62、.248 0.245 0.243轧机轧机2:0.257 0.253 0.255 0.254 0.261轧机轧机3:0.258 0.264 0.259 0.267 0.262计算方差分析结果,并判定各台轧机所生产的薄板的厚度有无显著的差异?计算方差分析结果,并判定各台轧机所生产的薄板的厚度有无显著的差异?X=0.236 0.238 0.248 0.245 0.243;0.257 0.253 0.255 0.254 0.261;0.258 0.264 0.259 0.267 0.262;P=anova1(X)a)p1.3431e-005,有显著差异。,有显著差异。b)p0.9688,没有显著差异。,没有显著差异。c)p0.4956,有显著差异。,有显著差异。d)p0.9688,有显著差异。,有显著差异。教材与主要参考书教材与主要参考书n与科学计算与科学计算 王沫然王沫然 编编 电子工业出版社电子工业出版社n精通科学计算精通科学计算 王正林王正林 编编 电子工业出版社电子工业出版社n数值分析(第四版)数值分析(第四版)李庆扬李庆扬 编编清华大学出版社清华大学出版社nMATLAB课程讲义课程讲义 Yangkun编编Harbin Institute of Technology

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!