软件实习--第一章MATLAB编程基础资料_第1页
软件实习--第一章MATLAB编程基础资料_第2页
软件实习--第一章MATLAB编程基础资料_第3页
软件实习--第一章MATLAB编程基础资料_第4页
软件实习--第一章MATLAB编程基础资料_第5页
已阅读5页,还剩147页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1、软件实习软件实习 -基于基于MATLAB的数值计算的数值计算 与与在在电子科学与技术专业中的应用电子科学与技术专业中的应用物理与电子科学系电子科学与技术专业课程安排课程安排时间:一周(第一周:(周一(第一周:(周一(30日):上午日):上午14节,讲课);节,讲课); 第二周:第二周: (周二,周四,周五上午(周二,周四,周五上午14节节 上机练习;周三下午上机练习;周三下午610)地点:北301;北九机房授课方式:课上讲解,课时上机实习,并完成作业。每日留习题,并完成习题。授课:战老师,王老师,伦老师考核考核 成绩分为成绩分为:“字母制字母制”第一章 MATLAB编程基础第二章 MATLAB

2、数值计算第三章 MATLAB绘图第四章 MATLAB在电子科学与技术专业中的应用教学内容教学目的: 通过本课程的学习,使同学们初步掌握MATLAB的基本知识,学会运用MATLAB语言进行数值计算和计算机仿真的基本技能,为后续的课程、毕业设计和从事生产及科学研究打下较好的基础。 第一第一章章 MATLAB MATLAB编程基础编程基础简介1、 MATLAB (MATrix LABoratory)是当前最流行、功能最强大的应用软件和编程语言之一,它集科学计算、可视化和可编程等功能集于一体,而且具有易学易用的特点,可利用计算机的运算能力来处理设计者手工处理所遇到的不便与繁琐。 MATLAB语言是由美

3、国的Clever Moler博士于1980年开发的,设计者的初衷是为解决“线性代数”课程的矩阵运算问题 . MATLAB已经发展成为多学科、多种工作平台的功能强大的大型软件。在各高校,MATLAB已经成为光电子科学与技术等专业的基本教学工具,是应该掌握的基本技能之一。2 MATLAB的主要特点是:(1 )有高性能数值计算的高级算法,特别适合矩阵代数领域;(2 )有大量事先定义的数学函数,并且有很强的用户自定义函数的能力;(3 )有强大的绘图功能以及具有教育、科学和艺术学的图解和可视化的二维、三维图;(4 )基于HTML的完整的帮助功能;(5 )适合个人应用的强有力的面向矩阵(向量)的高级程序设

4、计语言;(6 )与其它语言编写的程序结合和输入输出格式化数据的能力;(7 )有在多个应用领域解决难题的工具箱。 3、计算机仿真的概念仿真(Simulation)的定义: 所谓仿真就是模型实验,其基本思想是利用物理的或数学的模型来类比模仿现实过程,以寻求对真实过程的认识。它所遵循的基本原则是相似性原理。计算机仿真的定义: 计算机仿真是基于所建立的系统仿真模型,利用计算机对系统进行分析与研究的方法。计算机仿真的三要素计算机仿真的三要素1、三要素(1)系统:研究的对象(2)模型:系统的抽象(3)计算机:工具与手段系统模型计算机建立仿真模型建立数学模型仿真实验结果分析图1 .1 计 算机仿真三要素关系

5、图2、基本步骤包括三个基本的内容:建模数学模型计算机模型仿真实验 结果分析问题的阐述设置目标建立模型仿真实验设计编程序验证正确与否确认运行分析输出结果是是否否图1 .2 计 算机仿真程序流程3应用应用仿真技术的意义仿真技术的意义1、经济大型、复杂系统直接实验是十分昂贵的,如:空间飞行器的一次飞行实验的成本约在1亿美元左右,而采用仿真实验仅需其成本的1/101/5,而且设备可以重复使用。2、安全某些系统(如载人飞行器、核电装置等),直接实验往往会有很大的危险,甚至是不允许的,而采用仿真实验可以有效降低危险程度,对系统的研究起到保障作用。3、快捷提高设计效率:比如电路设计,服装设计等等。4、具有优

6、化设计和预测的特殊功能对一些真实系统进行结构和参数的优化设计是非常困难的,这时仿真可以发挥它特殊的优化设计功能。在非工程系统中(如社会、管理、经济等系统),由于其规模及复杂程度巨大,直接实验几乎不可能,这时通过仿真技术的应用可以获得对系统的某种超前认识。 基于仿真的方法的优点:基于仿真的方法的优点:可进行任意精确地建模,能够比前述两种方法在更大的范围内对系统性能进行评价。可以容易地合并数学和实验模型,可以将器件的实测特性和实际信号用于分析和设计。仿真得到的波形还可用作测试信号对硬件的性能进行验证。成本低,速度快,灵活性高。 缺点是:缺点是:在某些情况下,计算复杂度很高(合理地选择建模和仿真方法

7、可降低复杂度)了解了解MATLABMATLAB的基本知识的基本知识熟悉熟悉MATLABMATLAB的上机环境的上机环境掌握利用掌握利用MATLABMATLAB进行基本运算的方法进行基本运算的方法初步具备将一般数学问题转化成对应的计算机模型并进初步具备将一般数学问题转化成对应的计算机模型并进行处理的能力行处理的能力第一章第一章 MATLAB MATLAB语言基础语言基础工作区(命令)窗口工作区(命令)窗口命令历史窗口发射台窗口当前工作目录当前目录浏览器工作空间浏览器uMATLAB窗口环境窗口环境当当MATLABMATLAB启动时,展现在屏幕上的界面为启动时,展现在屏幕上的界面为MATLABMAT

8、LAB的默认界面,如图所示。的默认界面,如图所示。 MATLAB主窗口是主窗口是MATLAB的主要工作界面。主窗口除了嵌入一些子的主要工作界面。主窗口除了嵌入一些子窗口外,还主要包括菜单栏和工具栏。窗口外,还主要包括菜单栏和工具栏。1菜单栏菜单栏在在MATLAB 6.5主窗口的菜单栏,共包含主窗口的菜单栏,共包含File、Edit、View、Web、Window和和Help 6个菜单项。个菜单项。 (1) File菜单项:菜单项:File菜单项实现有关文件的操作。菜单项实现有关文件的操作。(2) Edit菜单项:菜单项:Edit菜单项用于命令窗口的编辑操作。菜单项用于命令窗口的编辑操作。(3)

9、 View菜单项:菜单项:View菜单项用于设置菜单项用于设置MATLAB集成环境的显示方式。集成环境的显示方式。 (4) Web菜单项:菜单项:Web菜单项用于设置菜单项用于设置MATLAB的的Web操作。操作。(5) Window菜单项:主窗口菜单栏上的菜单项:主窗口菜单栏上的Window菜单,只包含一个子菜菜单,只包含一个子菜单单Close all,用于关闭所有打开的编辑器窗口,包括,用于关闭所有打开的编辑器窗口,包括M-file、Figure、Model和和GUI窗口。窗口。(6) Help菜单项:菜单项:Help菜单项用于提供帮助信息。菜单项用于提供帮助信息。2工具栏工具栏MATLA

10、B主窗口的工具栏共提供了命令按钮。这些命主窗口的工具栏共提供了命令按钮。这些命令按钮均有对应的菜单命令,但比菜单命令使用起来令按钮均有对应的菜单命令,但比菜单命令使用起来更快捷、方便。更快捷、方便。 子窗口子窗口 命令窗口是命令窗口是MATLAB的主要交互窗口,用于输入的主要交互窗口,用于输入命令并显示除图形以外的所有执行结果。命令并显示除图形以外的所有执行结果。MATLAB命令窗口中的命令窗口中的“”为命令提示符,表示为命令提示符,表示MATLAB正在处于准备状态。在命令提示符后键入命正在处于准备状态。在命令提示符后键入命令并按下回车键后,令并按下回车键后,MATLAB就会解释执行所输入的就

11、会解释执行所输入的命令,并在命令后面给出计算结果。命令,并在命令后面给出计算结果。命令历史记录窗口命令历史记录窗口 在默认设置下,历史记录窗口中会自动保留自安装在默认设置下,历史记录窗口中会自动保留自安装起所有用过的命令的历史记录,并且还标明了使用时起所有用过的命令的历史记录,并且还标明了使用时间,从而方便用户查询。而且,通过双击命令可进行间,从而方便用户查询。而且,通过双击命令可进行历史命令的再运行。如果要清除这些历史记录,可以历史命令的再运行。如果要清除这些历史记录,可以选择选择Edit菜单中的菜单中的Clear Command History命令。命令。帮助窗口帮助窗口进入帮助窗口可以通

12、过以下进入帮助窗口可以通过以下3种方法:种方法:(1) 单击单击MATLAB主窗口工具栏中的主窗口工具栏中的Help按钮。按钮。(2) 在命令窗口中输入在命令窗口中输入helpwin、helpdesk或或doc。(3) 选择选择Help菜单中的菜单中的“MATLAB Help”选项。选项。二、MATLAB命令窗口1、启动MATLAB命令窗口计算机安装好MATLAB之后,双击MATLAB图标,就可以进入命令窗口,此时意味着系统处于准备接受命令的状态,可以在命令窗口中直接输入命令语句。MATLAB语句形式变量表达式;通过“=”符号将表达式的值赋予变量。当键入回车键时,该语句被执行。语句执行之后,窗

13、口自动显示出语句执行的结果。如果希望结果不被显示,则只要在语句之后加上一个分号(;)即可。此时尽管结果没有显示,但它依然被赋值并在MATLAB工作空间中分配了内存。三、变量和数值显示格式三、变量和数值显示格式1、变量(1)变量的命名:变量的名字必须以字母开头(不能超过19个字符),之后可以是任意字母、数字或下划线;变量名称区分字母的大小写;变量中不能包含有标点符号。(2)一些特殊的变量ans:用于结果的缺省变量名 i、j:虚数单位pi:圆周率 nargin:函数的输入变量个数eps:计算机的最小数 nargout:函数的输出变量个数inf:无穷大 realmin:最小正实数realmax:最大

14、正实数 nan:不定量flops:浮点运算数(3)变量操作在命令窗口中,同时存储着输入的命令和创建的所有变量值,它们可以在任何需要的时候被调用。如要察看变量a的值,只需要在命令窗口中输入变量的名称即可:a2、数值显示格式任何MATLAB的语句的执行结果都可以在屏幕上显示,同时赋值给指定的变量,没有指定变量时,赋值给一个特殊的变量ans,数据的显示格式由format命令控制。format只是影响结果的显示,不影响其计算与存储;MATLAB总是以双字长浮点数(双精度)来执行所有的运算。如果结果为整数,则显示没有小数;如果结果不是整数,则输出形式有:format short:短格式(5位定点数)99

15、.1253format long:长格式(15位定点数 99.12345678900000format short e:短格式e方式 9.9123e+001format long e:长格式e方式 9.912345678900000e+001format bank:2位十进制 99.12format hex:十六进制格式例: format short,pians=3.1416MATLAB的基本运算可分为三类: 算术运算 关系运算 逻辑运算四、简单的数学运算四、简单的数学运算1、常用的数学运算符,*(乘),/(左除),(右除),(幂)在运算式中,MATLAB通常不需要考虑空格;多条命令可以放在一

16、行中,它们之间需要用分号隔开;逗号告诉MATLAB显示结果,而分号则禁止结果显示。2、常用数学函数abs,sin,cos,tan,asin,acos,atan,sqrt,exp,imag,real,sign, log,log10,conj(共扼复数)等 五、五、MATLAB的工作空间的工作空间1、MATLAB的工作空间包含了一组可以在命令窗口中调整(调用)的参数who:显示当前工作空间中所有变量的一个简单列表whos:则列出变量的大小、数据格式等详细信息clear :清除工作空间中所有的变量clear 变量名:清除指定的变量2、保存和载入workspace(1)save filename va

17、riables将变量列表variables所列出的变量保存到磁盘文件filename中Variables所表示的变量列表中,不能用逗号,各个不同的变量之间只能用空格来分隔。未列出variables时,表示将当前工作空间中所有变量都保持到磁盘文件中。(2)load filename variables将以前用save命令保存的变量variables从磁盘文件中调入MATLAB工作空间。用load 命令调入的变量,其名称为用save命令保存时的名称,取值也一样。Variables所表示的变量列表中,不能用逗号,各个不同的变量之间只能用空格来分隔。未列出variables时,表示将磁盘文件中的所有变

18、量都调入工作空间。3、退出工作空间quit 或 exit六、文件管理六、文件管理文件管理的命令,包括列文件名、显示或删除文件、显示或改变当前目录等。(what、dir、type、delete、cd、which)what:显示当前目录下所有与matlab相关的文件及它们的路径。dir:显示当前目录下所有的文件which:显示某个文件的路径cd path:由当前目录进入path目录cd .:返回上一级目录cd:显示当前目录type filename:在命令窗口中显示文件filenamedelete filename:删除文件filenameMATLAB语言编程简单,使用方便。语言编程简单,使用方便

19、。 例例 如:如:clc %清屏clear %从内存中清除变量和函数more on more off:不允许分页 more on:允许分页。echo on echo on/off:控制是否在屏幕上显示程序内容。%求矩阵与矩阵的乘积,矩阵与向量的乘积A=5 6 7;9 4 6;4 3 6B=3 4 5;5 7 9;7 3 1X=5 7 8C=A*BY=A*Xmore offecho off数值矩阵的生成数值矩阵的生成 不管是任何矩阵(向量),我们可以直接按行方式输入每个元素:同一行中的元素用逗号(,)或者用空格符来分隔,且空格个数不限;不同的行用分号(;)分隔。所有元素处于一方括号( )内;矩阵

20、生成不但可以使用纯数字(含复数),也可以使用变量(或者说采用一个表达式)。B = 1 2 3;2 3 4;3 4 5y=2,4, 5;3 6 8y= 2 4 5 3 6 8a=1; b=2; c=3;x=5 b c; a*b a+c c/bx= 5.000 2.000 3.000 2.000 4.000 1.500直接输入法创建简单矩阵。 MATLAB提供了丰富的绘图功能help graph2d可得到所有画二维图形的命令help graph3d可得到所有画三维图形的命令加、减运算加、减运算运算符:运算符:“”和和“”分别为加、减运算符。分别为加、减运算符。运算规则:对应元素相加、减,即按线性代

21、数中矩阵的运算规则:对应元素相加、减,即按线性代数中矩阵的“十十”,“一一”运算进行。运算进行。例例A=1, 1, 1; 1, 2, 3; 1, 3, 6B=8, 1, 6; 3, 5, 7; 4, 9, 2C=A+BD=A-B结果显示:结果显示:C=9 2 74 7 105 12 8D=-7 0 -5-2 -3 -4-3 -6 4 A=1,2;3,4;5,6; B=1,2,1;3,4,2; A*B ans = 7 10 5 15 22 11 23 34 17乘法乘法运算符:*运算规则:按线性代数中矩阵乘法运算进行,即放在前面的矩阵的各行元素,分别与放在后面的矩阵的各列元素对应相乘并相加。1两

22、个矩阵相乘 A=3; B=2,3,4,5,6; A.*Bans = 6 9 12 15 18点运算是两个维数相同矩阵对应元素之间的运算,在有的教材中也定义为数组运算。数组乘法:A.*B表示A与B对应元素相乘。A=1,2;3,4;5,6; B=1,2;1,3;4,2; c= A.*Bc = 1 4 3 12 20 123向量点积函数 dot格式 C = dot(A,B) %若A、B为向量,则返回向量A与B的点积,A与B长度相同;若为矩阵,则A与B有相同的维数。C = dot(A,B,dim) %在dim维数中给出A与B的点积例 X=-1 0 2;Y=-2 -1 1;Z=dot(X, Y)则显示:

23、Z =44向量叉乘向量叉乘在数学上,两向量的叉乘是一个过两相交向量的交点且垂直于两向量所在平在数学上,两向量的叉乘是一个过两相交向量的交点且垂直于两向量所在平面的向量。在面的向量。在Matlab中,用函数中,用函数cross实现。实现。函数函数 cross格式格式 C = cross(A,B) %若若A、B为向量,则返回为向量,则返回A与与B的叉乘,即的叉乘,即C=AB,A、B必须是必须是3个元素的向量;若个元素的向量;若A、B为矩阵,则返回一个为矩阵,则返回一个3n矩阵,其矩阵,其中的列是中的列是A与与B对应列的叉积,对应列的叉积,A、B都是都是3n矩阵。矩阵。C = cross(A,B,d

24、im) %在在dim维数中给出向量维数中给出向量A与与B的叉积。的叉积。A和和B必须具有必须具有相同的维数,相同的维数,size(A,dim)和和size(B,dim)必须是必须是3。例例1-24 计算垂直于向量计算垂直于向量(1, 2, 3)和和(4, 5, 6)的向量。的向量。 a=1 2 3; b=4 5 6; c=cross(a,b)结果显示:结果显示: c= -3 6 -35混合积混合积混合积由以上两函数实现:混合积由以上两函数实现:例例1-25 计算向量计算向量a=(1, 2, 3)、b=(4, 5, 6)和和c=(-3, 6, -3) 的的混合积解:混合积解:a=1 2 3; b

25、=4 5 6; c=-3 6 -3;x=dot(a, cross(b, c)结果显示:结果显示:x = 54注意:先叉乘后点乘,顺序不可颠倒。注意:先叉乘后点乘,顺序不可颠倒。ab运算等效于求a*x=b的解如:a=1 2;3 4;b= 3 5; 5 9ab=-1 -1;2 3Matlab提供了两种除法运算:左除()和右除(/)。一般情况下,x=ab是方程a*x =b的解,而x=b/a是方程x*a=b的解。而a/b等效于求x*b=a的解。只有方阵才可以求幂。如:a=1 2;3 4;b= 3 5; 5 9a/b=-0.50 0.50;3.50 1.50a.b=3.00 2.50;1.67 2.25

26、如:a=1 2;3 4;b= 3 5; 5 9a./b=0.33 0.40;0.60 0.44如:a=1 2;3 4;b= 3 5; 5 9矩阵乘方矩阵乘方运算符:运算规则:(1)当A为方阵,P为大于0的整数时,AP表示A的P次方,即A自乘P次;P为小于0的整数时,AP表示A-1的P次方。(2) 标量的数组乘方P.A,标量的数组乘方定义为数组乘方:A.P:表示A的每个元素的P次乘方。 nm1mn111aaaappppA.P A=5 6 8; 7 9 10; B=12 4 7; 4 15 5;A A=5 6 8; 7 9 10; B=12 4 7; 4 15 5; ABans = 0 1 1 1

27、 0 17矩阵逻辑运算 设矩阵A和B都是mn矩阵或其中之一为标量,在MATLAB中定义了如下的逻辑运算:(1)矩阵的与运算 格式 A&B或and(A, B) 说明 A与B对应元素进行与运算,若两个数均非0,则结果元素的值为1,否则为0。(2)或运算 格式 A|B或or(A, B) 说明 A与B对应元素进行或运算,若两个数均为0,则结果元素的值为0,否则为1。(3)非运算 格式 A或not (A) 说明 若A的元素为0,则结果元素为1,否则为0。(4)异或运算 格式 xor (A,B) 说明 A与B对应元素进行异或运算,若相应的两个数中一个为0,一个非0,则结果为0,否则为1。例 A=0 2 3

28、 4;1 3 5 0,B=1 0 5 3;1 5 0 5A = 0 2 3 4 1 3 5 0B = 1 0 5 3 1 5 0 5 C1=A&B, C2=A|B, C3=A, C4=xor(A,B)C1 = 0 0 1 1 1 1 0 0C2 = 1 1 1 1 1 1 1 1C3 = 1 0 0 0 0 0 0 1C4 = 1 1 0 0 0 0 1 1A= 8 1 6; 3 5 7; 4 9 2矩阵转置矩阵转置运算符:运算规则:若矩阵A的元素为实数,则与线性代数中矩阵的转置相同。若A为复数矩阵,则A转置后的元素由A对应元素的共轭复数构成。若仅希望转置,则用如下命令:A.。a=1 2 3;

29、4 5 6a = 1 4 2 5 3 6b=1+2i 2-7ib = 1.0000 - 2.0000i 2.0000 + 7.0000ib=1+2i 2-7i.b = 1.0000 + 2.0000i 2.0000 - 7.0000ia=1 2 3;4 5 6.a = 1 4 2 5 3 6方阵的行列式方阵的行列式函数 det格式 d = det(X) %返回方阵X的多项式的值例 A=1 2 3;4 5 6;7 8 9A = 1 2 3 4 5 6 7 8 9 D=det(A)D = 0矩阵与矩阵操作基础矩阵与矩阵操作基础 x=linspace(0,4*pi,100) %将0,4区间100等分

30、,产生了一 个100维向量 x = Columns 1 through 6 0 0.1269 0.2539 0.3808 0.5077 0.6347 Columns 7 through 12 0.7616 0.8885 1.0155 1.1424 1.2693 1.3963 Columns 13 through 18 1.5232 1.6501 1.7771 1.9040 2.0309 2.1579 Columns 19 through 24 2.2848 2.4117 2.5387 2.6656 2.7925 2.9195Columns 25 through 30 3.0464 3.1733

31、 3.3003 3.4272 3.5541 3.6811 Columns 31 through 36 3.8080 3.9349 4.0619 4.1888 4.3157 4.4427 Columns 37 through 42 4.5696 4.6965 4.8235 4.9504 5.0773 5.2043 Columns 43 through 48 5.3312 5.4581 5.5851 5.7120 5.8389 5.9659Columns 49 through 54 6.0928 6.2197 6.3467 6.4736 6.6005 6.7275 Columns 55 throu

32、gh 60 6.8544 6.9813 7.1083 7.2352 7.3621 7.4890 Columns 61 through 66 7.6160 7.7429 7.8698 7.9968 8.1237 8.2506 Columns 67 through 72 8.3776 8.5045 8.6314 8.7584 8.8853 9.0122 Columns 73 through 78 9.1392 9.2661 9.3930 9.5200 9.6469 9.7738 Columns 79 through 84 9.9008 10.0277 10.1546 10.2816 10.4085

33、 10.5354 Columns 85 through 90 10.6624 10.7893 10.9162 11.0432 11.1701 11.2970 Columns 91 through 96 11.4240 11.5509 11.6778 11.8048 11.9317 12.0586 Columns 97 through 100 12.1856 12.3125 12.4394 12.5664 logspace(1,3,10)ans = 1.0e+003 * Columns 1 through 6 0.0100 0.0167 0.0278 0.0464 0.0774 0.1292 C

34、olumns 7 through 10 0.2154 0.3594 0.5995 1.0000例 产生一个34随机矩阵 R=rand(3,4)R = 0.9501 0.4860 0.4565 0.4447 0.2311 0.8913 0.0185 0.6154 0.6068 0.7621 0.8214 0.7919例 产生一个在区间10, 20内均匀分布的4阶随机矩阵 a=10;b=20; x=a+(b-a)*rand(4)x = 19.2181 19.3547 10.5789 11.3889 17.3821 19.1690 13.5287 12.0277 11.7627 14.1027 18

35、.1317 11.9872 14.0571 18.9365 10.0986 16.0379命令 逆函数 inv格式 Y=inv(X) %求方阵X的逆矩阵。若X为奇异阵或近似奇异阵,将给出警告信息。例1-43 求的逆矩阵方法一A=1 2 3; 2 2 1; 3 4 3;Y=inv(A)或Y=A(-1)则结果显示为 Y = 1.0000 3.0000 -2.0000 -1.5000 -3.0000 2.5000 1.0000 1.0000 -1.0000逆矩阵与行列式计算求逆:inv(A);求行列式:det(A)要求矩阵必须为方阵a=1 2 3; 4 5 6; 2 3 5;b=inv(a)b =

36、-2.3333 0.3333 1.0000 2.6667 0.3333 -2.0000 -0.6667 -0.3333 1.0000det(a)ans = -3矩阵的迹矩阵的迹函数 trace格式 b=trace (A) %返回矩阵A的迹,即A的对角线元素之和。矩阵的秩矩阵的秩函数 rank格式 k = rank (A) %求矩阵A的秩k = rank (A,tol) %tol为给定误差矩阵对角线元素的抽取函数 diag格式 X = diag(v,k) %以向量v的元素作为矩阵X的第k条对角线元素,当k=0时,v为X的主对角线;当k0时,v为上方第k条对角线;当k0:抽取上方第k条对角线元素;

37、k v=1 2 3; x=diag(v,-1)x = 0 0 0 0 1 0 0 0 0 2 0 0 0 0 3 0 A=1 2 3;4 5 6;7 8 9A = 1 2 3 4 5 6 7 8 9 v=diag(A,1)v = 2 62 2上三角阵和下三角阵的抽取上三角阵和下三角阵的抽取函数 triltril %取下三角部分格式 L = tril(X) %抽取X的主对角线的下三角部分构成矩阵LL = tril(X,k) %抽取X的第k条对角线的下三角部分;k=0为主对角线;k0为主对角线以上;k0为主对角线以上;k A=ones(4) %产生4阶全1阵A = 1 1 1 1 1 1 1 1

38、1 1 1 1 1 1 1 1 L=tril(A,1) %取下三角部分L = 1 1 0 0 1 1 1 0 1 1 1 1 1 1 1 1 U=triu(A,-1) %取上三角部分U = 1 1 1 1 1 1 1 1 0 1 1 1 0 0 1 1对于小数构成的矩阵A来说,如果我们想对它取整数,有以下几种方法: (1)按-方向取整函数 floor格式 floor(A) %将A中元素按-方向取整,即取不足整数。(2)按+方向取整函数 ceil格式 ceil(A) %将A中元素按+方向取整,即取过剩整数。(3)四舍五入取整函数 round格式 round (A) %将A中元素按最近的整数取整,

39、即四舍五入取整。(4)按离0近的方向取整函数 fix格式 fix (A) %将A中元素按离0近的方向取整例例1-55 A=-1.5+4*rand(3)A = 2.3005 0.4439 0.3259 -0.5754 2.0652 -1.4260 0.9274 1.5484 1.7856 B1=floor(A),B2=ceil(A),B3=round(A),B4=fix(A)B1 = 2 0 0 -1 2 -2 0 1 1B2 = 3 1 1 0 3 -1 1 2 2B3 = 2 0 0 -1 2 -1 1 2 2B4 = 2 0 0 0 2 -1 0 1 14、了解矩阵超越函数 在MATLAB

40、中exp、sqrt等命令也可以作用到矩阵上,但这种运算是定义在矩阵的单个元素上的,即分别对矩阵的每一个元素进行计算。 超越数学函数可以在函数后加上m而成为矩阵的超越函数,例如:expm,sqrtm。矩阵的超越函数要求运算矩阵为方阵。函数 sin、sinh功能 正弦函数与双曲正弦函数格式 Y = sin(X) %计算参量X(可以是向量、矩阵,元素可以是复数)中每一个角度分量的正弦值Y,所有分量的角度单位为弧度。Y = sinh(X) %计算参量X的双曲正弦值Y注意:sin(pi)并不是零,而是与浮点精度有关的无穷小量eps,因为pi仅仅是精确值浮点近似的表示值而已;对于复数Z= x+iy,函数的

41、定义为:sin(x+iy) = sin(x)*cos(y) + i*cos(x)*sin(y),2ee)zsin(iziz2ee)zsin(zz, 例2-1x = -pi:0.01:pi; plot(x,sin(x)x = -5:0.01:5; plot(x,sinh(x)图形结果为图2-1。 图2-1 正弦函数与双曲正弦函数图 图图2-1 正弦函数与双曲正弦函数图正弦函数与双曲正弦函数图函数 asin、asinh功能 反正弦函数与反双曲正弦函数格式 Y = asin(X) %返回参量X(可以是向量、矩阵)中每一个元素的反正弦函数值Y。若X中有的分量处于-1,1之间,则Y = asin(X)对

42、应的分量处于-/2,/2之间,若X中有分量在区间-1,1之外,则Y= asin(X)对应的分量为复数。Y = asinh(X) %返回参量X中每一个元素的反双曲正弦函数值Y例2-2x = -1:.01:1; plot(x,asin(x)x = -5:.01:5; plot(x,asinh(x)图形结果为图2-2。 图图2-2 反正弦函数与反双曲正弦函数图反正弦函数与反双曲正弦函数图函数 cos、cosh功能 余弦函数与双曲余弦函数格式 Y = cos(X) %计算参量X(可以是向量、矩阵,元素可以是复数)中每一个角度分量的余弦值Y,所有角度分量的单位为弧度。我们要指出的是,cos(pi/2)并

43、不是精确的零,而是与浮点精度有关的无穷小量eps,因为pi仅仅是精确值浮点近似的表示值而已。Y = conh(X) %计算参量X的双曲余弦值Y说明 若X为复数z= x+iy,则函数定义为:cos(x+iy) = cos(x)*cos(y) + i*sin(x)*sin(y),2eezcosiziz2eezcoshzz, 例2-3x = -pi:0.01:pi; plot(x,cos(x)x = -5:0.01:5; plot(x,cosh(x)图形结果为图2-3。 图2-3 余弦函数与双曲余弦函数图 图图2-3 余弦函数与双曲余弦函数图余弦函数与双曲余弦函数图函数 acos、acosh功能 反

44、余弦函数与反双曲余弦函数格式 Y = acos(X) %返回参量X(可以是向量、矩阵)中每一个元素的反余弦函数值Y。若X中有的分量处于-1,1之间,则Y = acos(X)对应的分量处于0,之间,若X中有分量在区间-1,1之外,则Y = acos(X)对应的分量为复数。Y = asinh(X) %返回参量X中每一个元素的反双曲余弦函数Y例2-4x = -1:.01:1; plot(x,acos(x)x = -5:.01:5; plot(x,acosh(x)图形结果为图2-4。 图图2-4 反余弦函数与反双曲余弦函数图反余弦函数与反双曲余弦函数图函数 tan、tanh功能 正切函数与双曲正切函数

45、格式 Y = tan(X) %计算参量X(可以是向量、矩阵,元素可以是复数)中每一个角度分量的正切值Y,所有角度分量的单位为弧度。我们要指出的是,tan(pi/2)并不是精确的零,而是与浮点精度有关的无穷小量eps,因为pi仅仅是精确值浮点近似的表示值而已。Y = tanh(X) %返回参量X中每一个元素的双曲正切函数值Y例2-5x = (-pi/2)+0.01:0.01:(pi/2)-0.01; % 稍微缩小定义域plot(x,tan(x)x = -5:0.01:5; plot(x,tanh(x)图形结果为图2-5。 图2-5 正切函数与双曲正切函数图 函数 atan、atanh功能 反正切

46、函数与反双曲正切函数格式 Y = atan(X) %返回参量X(可以是向量、矩阵)中每一个元素的反正切函数值Y。若X中有的分量为实数,则Y = atan(X)对应的分量处于-/2,/2之间。Y = atanh(X) %返回参量X中每一个元素的反双曲正切函数值Y。 图2-6 反正切函数与反双曲正切函数图例2-6x = -20:0.01:20; plot(x,atan(x)x = -0.99:0.01:0.99; plot(x,atanh(x)图形结果为图2-6。函数 cot、coth功能 余切函数与双曲余切函数格式 Y = cot(X) %计算参量X(可以是向量、矩阵,元素可以是复数)中每一个角

47、度分量的余切值Y,所有角度分量的单位为弧度。Y = coth(X) %返回参量X中每一个元素的双曲余切函数值Y例2-7x1 = -pi+0.01:0.01:-0.01; % 去掉奇点x = 0 x2 = 0.01:0.01:pi-0.01; % 做法同上plot(x1,cot(x1),x2,cot(x2)plot(x1,coth(x1),x2,coth(x2)图形结果为图2-7。 图2-7 余切函数与双曲余切函数图函数 acot、acoth功能 反余切函数与反双曲余切函数格式 Y = acot(X) %返回参量X(可以是向量、矩阵)中每一个元素的反余切函数YY = acoth(X) %返回参量X中每一个元素的反双曲余切函数值Y例2-8x1 = -2*pi:pi/30:-0.1; x2 = 0.1:pi/30:2*pi; % 去掉奇异点x = 0plot(x1,acot(x1),x2,acot(x2)x1 = -30:0.1:-1.1; x2 = 1.1:0.1

温馨提示

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

最新文档

评论

0/150

提交评论