数学建模的MATLABppt课件.ppt

上传人:牧羊曲112 文档编号:1470073 上传时间:2022-11-29 格式:PPT 页数:285 大小:2.46MB
返回 下载 相关 举报
数学建模的MATLABppt课件.ppt_第1页
第1页 / 共285页
数学建模的MATLABppt课件.ppt_第2页
第2页 / 共285页
数学建模的MATLABppt课件.ppt_第3页
第3页 / 共285页
数学建模的MATLABppt课件.ppt_第4页
第4页 / 共285页
数学建模的MATLABppt课件.ppt_第5页
第5页 / 共285页
点击查看更多>>
资源描述

《数学建模的MATLABppt课件.ppt》由会员分享,可在线阅读,更多相关《数学建模的MATLABppt课件.ppt(285页珍藏版)》请在三一办公上搜索。

1、2022/11/29,1,开始,&*$学院,Matlab基础及其应用,%$#,学,软,件,应,结束,数,用,2022/11/29,2,Matlab基础及其应用目录,第六章 Matlab空间作图,第二章 Matlab语言基础,第三章 Matlab数值运算,第四章 Matlab符号运算,第五章 Matlab平面作图,第一章 Matlab软件介绍,2022/11/29,3,Matlab基础及其应用目录,2022/11/29,4,第一章Matlab 简介,1.3 Matlab集成环境,1.1 Matlab概述,1.2 Matlab的运行环境与安装,1.4 Matlab帮助系统,2022/11/29,5

2、,1.1 Matlab 概述,Matlab的名称是由MATrix和LABoratory两个词的前三个字母组合而成的。它是Matlab公司于1982年推出的一套高性能的数值计算和可视化数学软件,被誉为“巨人肩上的工具”。由于使用Matlab编程运算与人进行科学计算的思路和表达方式完全一致,所以用Matlab编写程序就犹如在演算纸上排列出公式与求解问题.因此,Matlab又被称为演算纸式的科学算法语言。经过十几年的完善和扩充,Matlab现已发展成为线性代数课程的标准工具。由于它不需定义数组的维数,并给出矩阵函数、特殊矩阵专门的库函数,使之在求解诸如信号处理、建模、系统识别、控制、优化等领域的问题

3、时,显得大为简捷、高效、方便,这是其它高级语言所不能比拟的。,1.1.1 Matlab的简况,2022/11/29,6,1984年,Matlab第1版(DOS版) 1992年,Matlab 4.0版 1994年,Matlab 4.2版 1997年,Matlab 5.0版 1999年,Matlab 5.3版 2000年,Matlab 6.0版 2001年,Matlab 6.1版 2002年,Matlab 6.5版 2004年,Matlab 7.0版,1.1.2 Matlab的发展历史,2022/11/29,7,(1) Matlab数值计算和符号计算功能 Matlab以矩阵作为数据操作的基本单位,

4、还提供了十分丰富的数值计算函数。Matlab和著名的符号计算语言Maple相结合,使得Matlab具有符号计算功能。(2) Matlab的绘图功能 Matlab提供了两个层次的绘图操作:一种是对图形句柄进行的低层绘图操作,另一种是建立在低层绘图操作之上的高层绘图操作。(3) Matlab的编程语言Matlab具有程序结构控制、函数调用、数据结构、输入输出、面向对象等程序语言特征,而且简单易学、编程效率高。,1.1.3 Matlab的主要功能,2022/11/29,8,1.1.3 Matlab的主要功能,(4) Matlab的工具箱Matlab中包括了被称作工具箱(TOOLBOX)的各类应用问题

5、的求解工具。它可用来求解各类学科的问题,包括信号处理、图象处理、控制系统辨识、神经网络等。随着Matlab版本的不断升级,其所含的工具箱的功能也越来越丰富。(5) Matlab中包括了图形界面编辑GUI,这可让使用者也可以象VB、 VC 、VJ、 DELPHI等那样进行一般的可视化的程序编辑。在命令窗口(matlab command window)键入simulink,就出现(SIMULINK) 窗口。以往十分困难的系统仿真问题,用SIMULINK只需拖动鼠标即可轻而易举地解决问题,这也是近来受到重视原因所在。,2022/11/29,9,1.1.4 Matlab操作示例,例1-1 在同一坐标系

6、中绘出正弦曲线y=sinx和余弦曲线y=cosx在0,2*Pi上的图形. x=0:1/180:2*pi; % 输入自变量x的行矩阵 f1=sin(x);%输出因变量f1的行矩阵 f2=cos(x);%输出因变量f2的行矩阵 plot(x,f1),x,f2); %调用绘图命令一次画出两条曲线.例1-2 求方程 3x4+7x3 +9x2-23=0的全部根: p=3,7,9,0,-23; %建立多项式系数向量 x=roots(p) %调用求根命令求出方程的根.,2022/11/29,10,例1-3 求f=xlog(1+x)在0.1上的定积分S解 S=quad(x.*log(1+x),0,1)例1-4

7、 求解线性方程组:Ax=b。 其中 A=2,-3,1; 8,3,2; 45,1,-9; b=4;2;17; 解 x=inv(A)*b注意:线性方程组的解也可写成x=ab,1.1.4 Matlab操作示例,2022/11/29,11,1.2 Matlab的运行环境与安装,硬件环境:(1) CPU 奔腾以上(2) 内存 256M以上(3) 硬盘 40G以上(4) CD-ROM 驱动器和鼠标。软件环境:(1) Windows 98/NT/2000 或Windows XP(2) 其他软件根据需要选用,1.2.1 Matlab的运行环境,2022/11/29,12,1.2.2 Matlab的安装,安装M

8、atlab 6.5系统,需运行系统自带的安装程序setup.exe,一般只要用鼠标双击安装图标,就会启动安装程序,你只需按照安装提示正确输入(或粘贴)安装序列号后点击确认键,并按提示修改安装路径(或默认安装到C盘)就能完成安装。安装完毕后,在开始-程序-Matlab.exe菜单中,双击Matlab图标,即可运行程序。,2022/11/29,13,1Matlab系统的启动与一般的Windows程序一样,启动Matlab系统有3种常见方法:(1)使用Windows“开始”菜单,找到Matlab.exe图标,然后双击。(2)运行Matlab系统启动程序matlab.exe。(3)利用桌面快捷方式。,

9、1.3.1 启动与退出Matlab集成环境,2022/11/29,14,首次启动Matlab时,展现在屏幕上的界面为Matlab的默认界面. 默认界面中主要有六个窗口,其分布如下图所示。,1.3.1 启动与退出Matlab集成环境,默认设置下主要窗口布局,2022/11/29,15,从默认界面中可切换出左边两个主要窗口如下图所示。,1.3.1 启动与退出Matlab集成环境,2022/11/29,16,Matlab 6.5的集成环境包括Matlab主窗口、命令窗口(Command Window)、工作空间窗口(Workspace)、命令历史窗口(Command History)、当前目录窗口(

10、Current Directory)和启动平台窗口(Launch Pad)。,1.3.1 启动与退出Matlab集成环境,工作空间,命令历史,命令窗口,2022/11/29,17,命令窗口(Command Window),工作空间 (Workspace),命令历史(Command History),当前目录(Current Directory),主窗口,2022/11/29,18,2Matlab系统的退出要退出Matlab系统,也有3种常见方法:(1) 在Matlab主窗口File菜单中选择Exit Matlab命令。(2) 在Matlab命令窗口输入Exit或Quit命令。(3) 单击Mat

11、lab主窗口的“关闭”按钮。,1.3.1 启动与退出Matlab集成环境,2022/11/29,19,Matlab主窗口是Matlab的主要工作界面。主窗口除了嵌入一些子窗口外,还主要包括菜单栏和工具栏。1菜单栏在Matlab 6.5主窗口的菜单栏,共包含File、Edit、View、Web、Window和Help 6个菜单项。(1) File菜单项:File菜单项实现有关文件的操作。(2) Edit菜单项:Edit菜单项用于命令窗口的编辑操作。(3) View菜单项:View菜单项用于设置Matlab集成环境的显示方式。(4) Web菜单项:Web菜单项用于设置Matlab的Web操作。(5

12、) Window菜单项:主窗口菜单栏上的Window菜单,只包含一个子菜单Close all,用于关闭所有打开的编辑器窗口,包括M-file、Figure、Model和GUI窗口。(6) Help菜单项:Help菜单项用于提供帮助信息。,1.3.2 主窗口及子窗口,2022/11/29,20,2工具栏Matlab 6.5主窗口的工具栏共提供了10个命令按钮。这些命令按钮均有对应的菜单命令,但比菜单命令使用起来更快捷、方便。命令窗口是Matlab的主要交互窗口,用于输入命令并显示除图形以外的所有执行结果。 Matlab命令窗口中的“ ”为命令提示符,表示Matlab正在处于准备状态。在命令提示符

13、后键入命令并按下回车键后,Matlab就会解释执行所输入的命令,并在命令后面给出计算结果。,1.3.2 主窗口及子窗口,2022/11/29,21,在通常的编程中,一个行只输入一条独立的命令,命令行以回车结束。但一行也可以输入若干条命令,但各命令之间必须以逗号分隔,互相独立的命令也可用分号分隔。例如 p=15, m=35 , n=20 p=15; m=35; n=20在编程中,逗号表示换列,相当于一个空格;分号表示换行,分号与回车的作用都是换行.如果一个命令行很长,一个物理行之内写不下,可以在第一个物理行之后加上3个小黑点“”并按下回车键,然后接着下一个物理行继续写命令的其他部分。3个小黑点称

14、为续行符,即把后面的物理行看作该行的逻辑继续。在Matlab里,有很多的控制键和方向键可用于命令行的编辑。,1.3.3 Matlab编程输入法,2022/11/29,22,工作空间是Matlab用于存储各种变量和结果的内存空间。在该窗口中显示工作空间中所有变量的名称、大小、字节数和变量类型说明,可对变量进行观察、编辑、保存和删除。如果想要把工作空间中的变量及其数据存成文件,只需键入命令: Save filename.mat variblename不写变量名将会把工作空间中全部数据保存到你所给的文件内.,1.3.4 工作空间窗口,2022/11/29,23,1当前目录窗口 当前目录是指Matla

15、b运行文件时的工作目录,只有在当前目录或搜索路径下的文件、函数可以被运行或调用。 在当前目录窗口中可以显示或改变当前目录,还可以显示当前目录下的文件并提供搜索功能。 将用户目录设置成当前目录也可使用cd命令。例如,将用户目录c:mydir设置为当前目录,可在命令窗口输入命令: cd c:mydir,1.3.5 当前目录窗口和搜索路径,2022/11/29,24,2Matlab的搜索路径当用户在Matlab命令窗口输入一条命令后,Matlab按照一定次序寻找相关的文件。基本的搜索过程是:(1) 检查该命令是不是一个变量。(2) 检查该命令是不是一个内部函数。(3) 检查该命令是否当前目录下的M文

16、件。(4) 检查该命令是否Matlab搜索路径中其他目录下的M文件。,1.3.5 当前目录窗口和搜索路径,2022/11/29,25,用户可以将自己的工作目录列入Matlab搜索路径,从而将用户目录纳入Matlab系统统一管理。设置搜索路径的方法有: (1) 用path命令设置搜索路径。例如,将用户目录c:mydir加到搜索路径下,可在命令窗口输入命令:path(path,c:mydir)(2) 用对话框设置搜索路径 在Matlab的File菜单中选Set Path命令或在命令窗口执行pathtool命令,将出现搜索路径设置对话框。通过Add Folder或Add with Subfolder

17、命令按钮将指定路径添加到搜索路径列表中。在修改完搜索路径后,则需要保存搜索路径。,1.3.5 当前目录窗口和搜索路径,2022/11/29,26,在默认设置下,历史记录窗口中会自动保留自安装起所有用过的命令的历史记录,并且还标明了使用时间,从而方便用户查询。而且,通过双击命令可进行历史命令的再运行。如果要清除这些历史记录,可以选择Edit菜单中的Clear Command History命令。,1.3.6 命令历史记录窗口,2022/11/29,27,Matlab 6.5的启动平台窗口可以帮助用户方便地打开和调用Matlab的各种程序、函数和帮助文件。 Matlab 6.5主窗口左下角还有一个

18、Start按钮,单击该按钮会弹出一个菜单,选择其中的命令可以执行Matlab产品的各种工具,并且可以查阅Matlab包含的各种资源。,1.3.7 启动平台窗口和Start按钮,2022/11/29,28,1.4 Matlab帮助系统,进入帮助窗口可以通过以下3种方法:(1) 单击Matlab主窗口工具栏中的Help按钮。(2) 在命令窗口中输入helpwin、helpdesk或doc。(3) 选择Help菜单中的“Matlab Help”选项。,1.4.1 帮助窗口,1.4.2 帮助命令,Matlab帮助命令包括help、lookfor以及模糊查询1help命令在Matlab 6.5命令窗口中

19、直接输入help命令将会显示当前帮助系统中所包含的所有项目,即搜索路径中所有的目录名称。同样,可以通过help加函数名来显示该函数的帮助说明。,2022/11/29,29,2lookfor命令help命令只搜索出那些关键字完全匹配的结果,lookfor命令对搜索范围内的M文件进行关键字搜索,条件比较宽松。lookfor命令只对M文件的第一行进行关键字搜索。若在lookfor命令加上-all选项,则可对M文件进行全文搜索。3模糊查询Matlab 6.0以上的版本提供了一种类似模糊查询的命令查询方法,用户只需要输入命令的前几个字母,然后按Tab键,系统就会列出所有以这几个字母开头的命令。,1.4.

20、2 帮助命令,2022/11/29,30,在帮助窗口中选择演示系统(Demos)选项卡,然后在其中选择相应的演示模块,或者在命令窗口输入Demos,或者选择主窗口Help菜单中的Demos子菜单,打开演示系统。,1.4.3 演示系统,在MathWorks公司的主页(http:/)上可以找到很多有用的信息,国内的一些网站也有丰富的信息资源。,1.4.4 远程帮助系统,2022/11/29,31,第二章Matlab语言基础,2.1 Matlab的工作环境,2.2 Matlab的变量及其命名规则,2.3 Matlab矩阵命令及其变换,2.4 Matlab常用数学函数,2.5 Matlab矩阵的运算与

21、分解,2.6 Matlab的逻辑运算、条件语句与循环控制语句,2022/11/29,32,在MATLAB命令窗口下进行基本数学运算,只需将运算式直接打入提示号( )之後,并按入Enter键即可。例如在命令窗口中键入: (10*19+2/4-34)/2*3 , 回车后可得: ans = 234.7500 MATLAB会将运算结果直接存入一变数ans,代表MATLAB运算後的答案,并显示其数值屏幕上。如果在上述的例子结尾加上分号”;”,则计算结果不会显示在指令视窗上,要得知计算值只须键入该变数值即可.,2.1.1 Matlab的命令窗口计算输入,2.1 Matlab的工作环境,2022/11/29

22、,33,MATLAB可以将计算结果以不同的精确度的数字格式显示,我们可以在指令视窗上的功能选单上的Options下 选 Numerical Format,或者直接在指令视窗键入以下的各个数字显示格式的指令。 format short (这是默认的)MATLAB利用了二个游标键可以将所下过的指令叫回来重覆使用。按下则前一次指令重新出现,之后再 按Enter键,即再执行前一次的指令。而键的功用则是往后执行指令。其它在键盘上的几个键如, Delete, Insert,其功能则显而易见,试用即知,无须多加说明。当要暂时执行作业系统(例如Dos)的指令而还要执行MATLAB,可以利用!加上原作业系统的指

23、令,例如 !dir, !format a:。,2.1.2 Matlab的数字格式,2022/11/29,34,Ctrl-C(即同时按Ctrl及C二个键)可以用来中止执行中的MATLAB的工作。 有三种方法可以结束MATLAB 1.exit 2.quit 3.直接关闭MATLAB的命令视窗(Command window),2.1.3 Matlab的退出,2022/11/29,35,1.变量名的大小写是敏感。2. 变量的第一个字符必须为英文字母,而且不能超 过31个字符。3. 变量名可以包含下连字符、数字,但不能为空格 符、标点。4. 为读取方便,变量名尽量采用首写字母为大写的 英文单词,避免和库

24、函数名冲突.,2.2.1变量,2.2 Matlab的变量及其命名规则,2022/11/29,36,ans 预设的计算结果的变量名eps 正极小值esp =2.2204e-16pi 内建的值inf或值 无限大NaN 无法定义一个数目 ( 1/0 )i 或 j 虚数单位i=j= sqrt(-1)nargin 函数输入参数个数nargout 函数输出参数个数realmax 最大的正实数realmin 最小的正实数flops 浮点运算次数,2.2.2预定义的变量,2022/11/29,37,2.3 Matlab矩阵命令及其变换,MATLAB书写表达式的规则与“手写算式”差不多相同。如果一个指令过长可以

25、在结尾加上.(代表此行指 令与下一行连续),例如键入 3*. 6 %求3与6的乘积 运行可得结果 ans = 18,2.3.1 Matlab的赋值语句表达式,2022/11/29,38,2.3.2矩阵(数组)的创建格式,格式一: 手工输入3行4列矩阵; A=1,2,3,4;-1,5,3,6;2,0,3,7;格式二:给定步长自动生成行矩阵; B=1:0.1:2; %行矩阵也叫数组格式三:用随机命令自动生成mn矩阵; C=rand(m,n);格式四:调用等距插值命令生成行矩阵; D=linspace(a,b,n);,2022/11/29,39,1全零矩阵的生成: A=zeros(m,n) 2全1矩

26、阵的生成: B=ones(m,n);3. 单位矩阵的生成: C=eye(n);4. 对角矩阵的生成: D=diag(1,2,3,4); 5. hilbert矩阵的生成: E=hilb(n)6. 魔方矩阵的生成: F=magic(n);,2.3.3 特殊矩阵的表示与简单运算,2022/11/29,40,矩阵的基本运算法则,2.3.3 特殊矩阵的表示与简单运算,2022/11/29,41,数组的基本运算法则,2.3.3 特殊矩阵的表示与简单运算,2022/11/29,42,Matlab矩阵变换操作示例(一),clearA=rand(5) %生成一个5阶随机矩阵;A1=A(1:3,2:4); %取出

27、A中由1,2,3行,2,3,4列构 成的子矩阵A2=A(5,4,3,2,1,:); %对A中的行重新排序;A(1,2,3,:)=; %删除A的1,2,3行;A(:,1,5)=; %删除A的1,5列;A(1,2,3,:)=A(2,3,1,:); %置换A的1,2,3行;A3=A(:); %逐列排序把A拉成一个列向量;A(:)=B; %把B中的元素按列依次赋给A; 注:要求A与B的元素一样多,但行数可以不相等;,2.3.3 特殊矩阵的表示与简单运算,2022/11/29,43,Matlab矩阵变换操作示例(二),1.按矩阵形式以矩阵B为块元素生成分块矩阵: A=repmat(B,n,m);2.把矩

28、阵A的第i行的s倍加到第j行: A(j,:)=A(j,:)+A(i,:)*s;3.交换A的第i列与第j列: A(:,i,j)=A(:,j,i);4.元素重排:按列元次序把m*n个元素的矩阵排成nm矩阵: B=reshape(A,n,m)5.矩阵合成:C=cat(1,A1,A2); D=cat(2,A1,A2);,2.3.3 特殊矩阵的表示与简单运算,2022/11/29,44,第三章Matlab数值计算,3.5 多项式运算,3.6 插值与拟合,3.4 随机函数rand和randn,3.1 Matlab常用数学函数,3.2 Matlab矩阵的运算与分解,3.3 Matlab的逻辑运算、条件语句与

29、循环控制语句,3.7 数值积分,3.8 常微分方程数值解,2022/11/29,45,3.1 MATLAB常用数学函数,3.1.1三角函数,注:只要给x赋予实值或复值,运行可输出函数值,例: sin(pi/3), cos(5),但X一般取复数矩阵.,2022/11/29,46,3.1.2双曲函数,注:只要给x赋予实值,运行可输出函数值例: tanh(-2), asech(-3),但X通常取矩阵.,2022/11/29,47,功能 正弦函数与双曲正弦函数格式 Y = sin(X) %计算参量X(可以是向量、矩阵,元素可以是复数)中每一个角度分量的正弦值Y,所有分量的角度单位为弧度。Y = sin

30、h(X) %计算参量X的双曲正弦值Y。,3.1.3.1 三角函数与双曲函数的操作,函数 sin、sinh,2022/11/29,48,几点补充说明,(1)sin(pi)并不是零,而是与浮点精度有关的无穷小量eps,因为pi仅仅是精确值浮点近似的表示值而已;(2)对于复数Z= x+iy,函数的定义为:sin(x+iy) = sin(x)*cos(y) + i*cos(x)*sin(y); , ;,2022/11/29,49,例2-1 x = -pi:0.01:pi; plot(x,sin(x) x = -5:0.01:5; plot(x,sinh(x) 图形结果为图2-1。,正弦函数与双曲正弦函

31、数的图象,3.1.3.1 三角函数与双曲函数的操作,2022/11/29,50,函数 asin、asinh,功能 反正弦函数与反双曲正弦函数格式 Y = asin(X) %返回参量X(可以是向量、矩阵)中每一个元素的反正弦函数值Y。若X中有的分量处于-1,1之间,则Y = asin(X)对应的分量处于-/2,/2之间,若X中有分量在区间-1,1之外,则Y= asin(X)对应的分量为复数。Y = asinh(X) %返回参量X中每一个元素的反双曲正弦函数值Y,3.1.3.1 三角函数与双曲函数的操作,2022/11/29,51,反正弦函数与反双曲正弦函数的定义为:,反正弦函数与反双曲正弦函数的

32、图象,例2-2 x = -1:.01:1; plot(x,asin(x) x = -5:.01:5; plot(x,asinh(x) 图形结果为图2-2。,2022/11/29,52,函数 cos、cosh,功能 余弦函数与双曲余弦函数格式 Y = cos(X) %计算参量X(可以是向量、矩阵,元素可以是复数)中每一个角度分量的余弦值Y,所有角度分量的单位为弧度。我们要指出的是,cos(pi/2)并不是精确的零,而是与浮点精度有关的无穷小量eps,因为pi仅仅是精确值浮点近似的表示值而已。Y = sinh(X) %计算参量X的双曲余弦值Y,3.1.3.1 三角函数与双曲函数的操作,2022/1

33、1/29,53,若X为复数z= x+iy,则函数定义为: cos(x+iy) = cos(x)*cos(y) + i*sin(x)*sin(y),,例2-3 x = -pi:0.01:pi; plot(x,cos(x) x = -5:0.01:5; plot(x,cosh(x)图形结果为图2-3。,余弦函数与双曲余弦函数图,2022/11/29,54,函数 acos、acosh,功能 反余弦函数与反双曲余弦函数格式 Y = acos(X) %返回参量X(可以是向量、矩阵)中每一个元素的反余弦函数值Y。若X中有的分量处于-1,1之间,则Y = acos(X)对应的分量处于0,之间,若X中有分量在

34、区间-1,1之外,则Y = acos(X)对应的分量为复数。Y = asinh(X) %返回参量X中每一个元素的反双曲余弦函数Y,3.1.3.1 三角函数与双曲函数的操作,2022/11/29,55,反余弦函数与反双曲余弦函数定义为:,例2-4 x = -1:.01:1; plot(x,acos(x) x = -5:.01:5; plot(x,acosh(x)图形结果为图2-4。,反余弦函数与反双曲余弦函数,2022/11/29,56,3.1.4指数函数、对数函数及复函数,例: exp(-2-5i), abs(3+4i), imag(1+2i)conj(-1+8i), complex(4,5)

35、, log(-1+3i);,2022/11/29,57,3.1.4.1指数函数 exp(x),功能 以e为底数的指数函数格式 Y = exp(X) %对参量X的每一分量,求以e为底数的指数函数Y。X中的分量可以为复数。对于复数分量如,z = x +iy,则相应地计算式为: ez = ex*(cos(y) + i*sin(y)。 例2-5 A = -1.9, -0.2, 3.1415926, 5.6, 7.0, 2.4+3.6i; Y = exp(A)计算结果为: Y = 1.0e+003 * Columns 1 through 4 0.0001 0.0008 0.0231 0.2704 Col

36、umns 5 through 6 1.0966 -0.0099 - 0.0049i,2022/11/29,58,矩阵按特征根取值的指数函数 expm(A),功能 求方阵的对角形以e为底数的指数函数格式 Y = expm(X) %计算以e为底数、x的每一个特征根为指数的指数函数值矩阵。说明 该函数为一内建函数,它有三种计算算法:(1)使用文件expm1.m中的用比例法与二次幂算法得到的Pad近似值;(2)使用Taylor级数近似展开式计算,这种计算在文件expm2.m中。但这种一般计算方法是不可取的,通常计算是缓慢且不精确的;(3)在文件expm3.m中,先是将矩阵对角线化,再把函数计算出相应的

37、的特征向量,最后转换过来。但当输入的矩阵没有与矩阵阶数相同的特征向量个数时,就会出现错误。,3.1.4.1 指数函数 exp(x),2022/11/29,59,Expm(A)的计算原理,%expm(A)的计算分两步:(1)用命令: V,D=eig(A),直接求出的特征根和特征向量,给出分解式: A=V*D/V(2)在分解式中只对对角矩阵D中的特征根取指数函数值,也就是expm(A)=V*diag(exp(diag(D)/V,3.1.3.1指数函数 exp(x),2022/11/29,60,A=hilb(4); %生成一个4阶xilbert矩阵 Y = expm(A)计算结果为:Y = 3.25

38、06 1.2068 0.8355 0.6417 1.2068 1.7403 0.5417 0.4288 0.8355 0.5417 1.4100 0.3318 0.6417 0.4288 0.3318 1.2729,expm(A)应用举例,3.1.4.1指数函数 exp(x),2022/11/29,61,对数函数 log(x)的命令应用,功能 自然对数,即以e为底数的对数。格式 Y = log(X) %对参量X中的每一个元素计算自然对数。其中X中的元素可以是复数与负数,但由此可能得到意想不到的结果。若z = x + i*y,则log对复数的计算如下:log (z) = log (abs (z)

39、 + i*atan2(y, x)例2-6 下面的语句可以得到无理数的近似值: Pi = abs(log(-1)计算结果为: Pi = 3.1416,3.1.4.2对数函数 log(x),2022/11/29,62,方阵的对数函数logm(X),设A有n个特征向量构成矩阵V,即有 V,D=eig(A), A=V*D/V;按expm(A)的逆运算,定义:logm(A)=V*diag(logm(diag(D)/V;例如:A=xilb(4),调用logm(A)可得结论:ans = -0.5157 1.2819 0.3274 0.1798 1.2819 -3.9121 2.5002 0.5120 0.3

40、274 2.5002 -6.2592 3.0119 0.1798 0.5120 3.0119 -4.9282,3.1.4.2对数函数 log(x),2022/11/29,63,以10为底的对数函数 log10(A),功能 常用对数,即以10为底数的对数。格式 Y = log10(X) %计算X中的每一个元素的常用对数,若X中出现复数,则可能得到意想不到的结果。例2-7L1 = log10(realmax) % 由此可得特殊变量realmax的近似值L2 = log10(eps) % 由此可得特殊变量eps的近似值M = magic(4);L3 = log10(M)计算结果为:L1 = 308.

41、2547L2 = -15.6536L3 = 1.2041 0.3010 0.4771 1.1139 0.6990 1.0414 1.0000 0.9031 0.9542 0.8451 0.7782 1.0792 0.6021 1.1461 1.1761 0,2022/11/29,64,复数的求模函数 abs(X),功能 数值的绝对值与复数的模格式 Y = abs() %返回矩阵X的每一个元素的绝对值;若X为复数矩阵,则返回每一元素的模:abs(X) = sqrt(real(X).2+imag(X).2)。例2-8A = -1.9, -0.2, 3.1415926, 5.6, 7.0, 2.4+

42、3.6i;Y = abs(A)计算结果为:Y = 1.9000 0.2000 3.1416 5.6000 7.0000 4.3267,3.1.4.2对数函数 log(x),2022/11/29,65,复数的共轭函数 conj(Z),功能 复数的共轭值格式 ZC = conj(Z) %返回参量Z的每一个分量的共轭复数:conj(Z) = real(Z) - i*imag(Z) 函数 imag功能 复数的虚数部分格式 Y = imag(Z) %返回输入参量Z的每一个分量的虚数部分。例2-9imag(2+3i)计算结果为:ans = 3,3.1.4.2复变函数,2022/11/29,66,复数的虚部

43、函数 imag(Z),功能 复数的虚数部分格式 Y = imag(Z) %返回输入参量Z的每一个分量的虚数部分。例2-10imag(2+3i)计算结果为:ans = 3函数 real功能 复数的实数部分。格式 Y = real(Z) %返回输入参量Z的每一个分量的实数部分。例2-11real(2+3i)计算结果为:ans = 2,3.1.4.2复变函数,2022/11/29,67,复数的幅角函数 angle(Z),功能 复数的相角格式 P =angle(Z) %返回输入参量Z的每一复数元素的、单位为弧度的相角,其值在区间-,上。说明 angle(z) = imag (log(z) = atan

44、2 (imag(z),real(z)例2-12Z =1-i, 2+i, 3-i, 4+i; 1+2i,2-2i,3+2i,4-2i; 1-3i,2+3i,3-3i,4+3i;Angle(Z)= -0.7854 0.4636 -0.3218 0.2450 1.1071 -0.7854 0.5880 -0.4636 -1.2490 0.9828 -0.7854 0.6435,3.1.4.2复变函数,2022/11/29,68,生成复函数 complex,功能 用实数与虚数部分创建复数格式 c = complex(a,b) %用两个实数a,b创建复数c=a+bi。输出参量c与a、b同型(同为向量、矩

45、阵、或多维阵列)。该命令比下列形式的复数输入更有用:a + i*b 或a + j*b因为i和j可能被用做其他的变量(不等于sqrt(-1),或者a和b不是双精度的。 c = complex(a) %输入参量a作为输出复数c的实部,其虚部为0:c = a+0*i。例2-13a = uint8(1;2;3;4); %非符号8-bit整数型数据b = uint8(4;3;2;1);c = complex(a,b)计算结果为:c = 1.0000 + 4.0000i 2.0000 + 3.0000i 3.0000 + 2.0000i 4.0000 + 1.0000i,2022/11/29,69,3.1

46、.4.3 Matlab的圆整函数和求余函数,例: floor(2.6)=2, ceil(-3.5)=3 mod(7,3)=1,2022/11/29,70,功能 朝零方向取整格式 B = fix(A) %对A的每一个元素朝零的方向取整数部分,返回与A同维的数组。对于复数参量A,则返回一复数,其分量的实数与虚数部分分别取原复数的、朝零方向的整数部分。例2-14 A = -1.9, -0.2, 3.1415926, 5.6, 7.0, 2.4+3.6i; B = fix(A)计算结果为: B = Columns 1 through 4 -1.0000 0 3.0000 5.0000 Columns

47、5 through 6 7.0000 2.0000 + 3.0,3.1.4.4圆整函数 fix,2022/11/29,71,3.1.4.5圆整函数 round,功能 朝最近的方向取整。格式 Y = round(X) %对X的每一个元素朝最近的方向取整数部分,返回与X同维的数组。对于复数参量X,则返回一复数,其分 量的实数与虚数部分分别取原复数的、朝最近方向的整数部分。例2-15A = -1.9, -0.2, 3.1415926, 5.6, 7.0, 2.4+3.6i;Y = round(A)计算结果为:Y = Columns 1 through 4 -2.0000 0 3.0000 6.000

48、0 Columns 5 through 6 7.0000 2.0000 + 4.0000i,2022/11/29,72,3.1.4.6 圆整函数 floor,功能 朝负无穷大方向取整格式 B = floor(A) %对A的每一个元素朝负无穷大的方向取整数部分,返回与A同维的数组。对于复数参量A,则返回一复数,其分量的实数与虚数部分分别取原复数的、朝负无穷大方向的整数部分。例2-16A = -1.9, -0.2, 3.1415926, 5.6, 7.0, 2.4+3.6i;F = floor(A)计算结果为:F = Columns 1 through 4 -2.0000 -1.0000 3.00

49、00 5.0000 Columns 5 through 6 7.0000 2.0000 + 3.0000i,2022/11/29,73,3.1.4.7 圆整函数 ceil,功能 朝正无穷大方向取整格式 B = floor(A) % 对A的每一个元素朝正无穷大的方向取整数部分,返回与A同维的数组。对于复数参量A,则返回一复数,其分量的实数与虚数部分分别取原复数的、朝正无穷大方向的整数部分。例2-17A = -1.9, -0.2, 3.1415926, 5.6, 7.0, 2.4+3.6i;B = ceil(A)计算结果为:B = Columns 1 through 4 -1.0000 0 4.0

50、000 6.0000 Columns 5 through 6 7.0000 3.0000 + 4.0000i,2022/11/29,74,3.1.4.7 取余数函数rem,功能 求作除法后的剩余数(正负均可)格式 R = rem(X,Y) %返回结果: X-fix(X./Y).*Y其中X、Y应为整数。若X、Y为浮点数,由于计算机对浮点数的表示的不精确性,则结果将可能是不可意料的。fix(X./Y)为商数X./Y朝零方向取的整数部分。若X与Y为同符号的,则rem(X,Y)返回的结果与mod(X,Y)相同,不然,若X为负数,则rem(X,Y) = mod(X,Y) - Y。该命令返回的结果在区间

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号