1.MATLAB与仿真-矩阵基础1

上传人:桔**** 文档编号:567496399 上传时间:2024-07-20 格式:PPT 页数:82 大小:811KB
返回 下载 相关 举报
1.MATLAB与仿真-矩阵基础1_第1页
第1页 / 共82页
1.MATLAB与仿真-矩阵基础1_第2页
第2页 / 共82页
1.MATLAB与仿真-矩阵基础1_第3页
第3页 / 共82页
1.MATLAB与仿真-矩阵基础1_第4页
第4页 / 共82页
1.MATLAB与仿真-矩阵基础1_第5页
第5页 / 共82页
点击查看更多>>
资源描述

《1.MATLAB与仿真-矩阵基础1》由会员分享,可在线阅读,更多相关《1.MATLAB与仿真-矩阵基础1(82页珍藏版)》请在金锄头文库上搜索。

1、MATLAB及仿真MATLAB及仿真MATLAB与仿真与仿真主讲教师:韩雅菲MATLAB及仿真MATLAB及仿真MATLAB课程安排课程安排学时:学时:4040学时学时安排:讲课安排:讲课3232学时,上机学时,上机8 8学时学时MATLAB及仿真MATLAB及仿真MATLAB课程安排课程安排学时:学时:4040学时学时安排:讲课安排:讲课3232学时,上机学时,上机8 8学时学时MATLAB及仿真MATLAB及仿真第第1章章 MATLAB概述概述 MATLABMATLAB语语言言是是2020世世纪纪7070年年代代,美美国国新新墨墨西西哥哥大大学学计计算算机机科科学学系系主主任任Cleve

2、Cleve MolerMoler为为了了为为解解决决“线线性性代代数数”课课程程的的矩矩阵阵运运算算问问题题,减减轻轻学学生生编编程程的的负负担担,用用FORTRANFORTRAN编编写写了了最最早早的的MATLABMATLAB。取取名名“MATLAB”MATLAB”即即MatMatrix rix LabLaboratoryoratory,矩矩阵阵实实验验室室的的意思。意思。 19841984年年由由LittleLittle、MolerMoler、Steve Steve BangertBangert合合作作成成立立了了的的MathWorksMathWorks公公司司正正式式把把MATLABMA

3、TLAB推推向向市市场场。到到2020世世纪纪9090年年代代,MATLABMATLAB已已成成为为国国际际控控制制界界的的标标准计算软件。准计算软件。 MATLAB及仿真MATLAB及仿真MATLAB优势优势友好的工作平台和编程环境友好的工作平台和编程环境简单易用的程序语言简单易用的程序语言强大的科学计算机数据处理能力强大的科学计算机数据处理能力出色的图形处理功能出色的图形处理功能应用广泛的模块集合工具箱应用广泛的模块集合工具箱实用的程序接口和发布平台实用的程序接口和发布平台应用软件开发(包括用户界面)应用软件开发(包括用户界面)MATLAB及仿真MATLAB及仿真MATLAB主要应用领域主

4、要应用领域 MATLAB MATLAB 的的应应用用范范围围非非常常广广,包包括括信信号号和和图图像像处处理理、通通讯讯、控控制制系系统统设设计计、测测试试和和测测量量、财财务务建建模模和和分分析析以以及及计计算算生生物物学学等等众众多多应应用用领领域域。附附加加的的工工具具箱箱(单单独独提提供供的的专专用用MATLAB MATLAB 函函数数集集)扩扩展展了了MATLAB MATLAB 环环境境,以以解决这些应用领域内特定类型的问题。解决这些应用领域内特定类型的问题。 MATLAB及仿真MATLAB及仿真第第2章章 MATLAB语言程序设计基础语言程序设计基础 2.1 MATLAB2.1 M

5、ATLAB语言的基本使用环境语言的基本使用环境 MATLABMATLAB主窗口是主窗口是MATLABMATLAB的主要工作界的主要工作界面。主窗口除了嵌入一些面。主窗口除了嵌入一些常用窗口常用窗口外,还外,还主要包括主要包括菜单栏菜单栏和和工具栏工具栏。MATLAB及仿真MATLAB及仿真MATLAB用户界面用户界面MATLAB及仿真MATLAB及仿真2.1 MATLAB语言的基本使用环境语言的基本使用环境菜单栏:菜单栏: 在在MATLAB7.XMATLAB7.X主主窗窗口口的的菜菜单单栏栏,共共包包含含FileFile、EditEdit、DebugDebug、DesktopDesktop、W

6、indowWindow和和Help 6Help 6个菜单项。个菜单项。MATLAB及仿真MATLAB及仿真MATLAB菜单栏菜单栏 在在MATLAB MATLAB 菜菜单单栏栏,共共包包含含FileFile、EditEdit、ViewView、WebWeb、WindowWindow和和Help 6Help 6个菜单项。个菜单项。FileFile:包括新建,打开文件,关闭,保存,打印,导:包括新建,打开文件,关闭,保存,打印,导 入数据,设置路径及退出等操作。入数据,设置路径及退出等操作。EditEdit:包括撤销,剪切、复制、粘贴等常见的操作。:包括撤销,剪切、复制、粘贴等常见的操作。Debu

7、g Debug :程序的调试。程序的调试。DesktopDesktop:用于设置用于设置MATLABMATLAB集成环境的显示方式。集成环境的显示方式。WindowWindow:用于关闭所有打开的编辑器窗口,在各窗口:用于关闭所有打开的编辑器窗口,在各窗口 之间切换。之间切换。HelpHelp:用于提供帮助信息。:用于提供帮助信息。MATLAB及仿真MATLAB及仿真MATLAB帮助系统帮助系统进入帮助窗口可以通过以下进入帮助窗口可以通过以下3 3种方法:种方法:(1)(1)单击单击MATLABMATLAB主窗口工具栏中的主窗口工具栏中的HelpHelp按钮;按钮;(2)(2)在在命命令令窗窗

8、口口中中输输入入helpwinhelpwin、helpdeskhelpdesk或或docdoc;(3)(3)选择选择HelpHelp菜单中的菜单中的“MATLAB Help”MATLAB Help”选项。选项。MATLAB及仿真MATLAB及仿真MATLAB及仿真MATLAB及仿真MATLAB及仿真MATLAB及仿真MATLAB及仿真MATLAB及仿真MATLAB及仿真MATLAB及仿真MATLAB工具栏工具栏工具栏:工具栏:工工具具栏栏包包括括新新建建文文件件、打打开开文文件件、剪剪切切,复复制,粘贴等常用图标;制,粘贴等常用图标;显显示示MATLABMATLAB当当前前的的路路径径,用用户

9、户可可以以通通过过工工具具栏改变当前目录路径。栏改变当前目录路径。MATLAB及仿真MATLAB及仿真常用窗口常用窗口1.1.命令窗口(命令窗口(Command WindowCommand Window)2.2.历史命令窗口(历史命令窗口( Command HistoryCommand History)3.3.当前工作目录(当前工作目录(Current DirectoryCurrent Directory)4.4.工作空间(工作空间(WorkspaceWorkspace)5.5.数组编辑器窗口(数组编辑器窗口(Array EditorArray Editor)6.6.M M文件编辑文件编辑/

10、/调试器窗(调试器窗( EditorEditor)MATLAB及仿真MATLAB及仿真1.命令窗口命令窗口MATLAB及仿真MATLAB及仿真1.命令窗口命令窗口作作用用:命命令令窗窗口口是是MATLABMATLAB的的主主要要交交互互窗窗口口,用用于输入命令并显示除图形以外的所有执行结果。于输入命令并显示除图形以外的所有执行结果。 在在命命令令窗窗口口中中输输入入MATLABMATLAB命命令令和和数数据据后后按按回回车车键,立即执行运算。键,立即执行运算。命令窗口中的语句形式为:命令窗口中的语句形式为:变量变量= =表达式;表达式;说明:说明:命令窗口中的每个命令前会出现提示符命令窗口中的

11、每个命令前会出现提示符 “”,没有,没有“”符号的行则是显示的结果符号的行则是显示的结果”。MATLAB及仿真MATLAB及仿真1.命令窗口命令窗口句末加分号句末加分号; ;则不显示结果则不显示结果例:例: a=3; b=4; c=a+b; cc = 7MATLAB及仿真MATLAB及仿真2.历史命令窗口MATLAB及仿真MATLAB及仿真2.历史命令窗口作作用用:在在默默认认设设置置下下,历历史史记记录录窗窗口口中中会会自自动动保保留留自自安安装装起起所所有有用用过过的的命命令令的的历历史史记录。记录。当当按按下下方方向向键键时时窗窗口口会会依依次次出出现现已已输输入命令。入命令。MATLA

12、B及仿真MATLAB及仿真2.历史命令窗口用来记录并显用来记录并显示已经运行过示已经运行过的命令、函数的命令、函数和表达式。和表达式。MATLAB及仿真MATLAB及仿真3.当前工作目录说说明明:当当前前工工作作目目录录用用来来设设置置当当前前目目录录,并并显显示示当当前前目目录录下下的的M M文文件件、MATMAT文文件件等等文文件件信信息息,窗窗口口中中包包含含文文件件名名称称、类类型型、文文件件大大小小和和修修改改时间等。时间等。MATLAB及仿真MATLAB及仿真3.当前工作目录 当用户在当用户在MATLABMATLAB命令窗口输入一条命令后,命令窗口输入一条命令后,MATLABMAT

13、LAB按照一定次序寻找相关的文件。基本的搜索按照一定次序寻找相关的文件。基本的搜索过程是:过程是:(1) (1) 检查该命令是不是一个变量。检查该命令是不是一个变量。(2) (2) 检查该命令是不是一个内部函数。检查该命令是不是一个内部函数。(3) (3) 检查该命令是不是当前目录下的检查该命令是不是当前目录下的M M文件。文件。 (4) (4) 检查该命令是不是检查该命令是不是MATLABMATLAB搜索路径中其他目录搜索路径中其他目录下的下的M M文件。文件。 因此,当前目录设置是否正确,决定程序是否因此,当前目录设置是否正确,决定程序是否能正确运行。能正确运行。 MATLAB及仿真MAT

14、LAB及仿真4.工作空间MATLAB及仿真MATLAB及仿真4.工作空间说明:工作空间浏览器窗口用于显示内存中所有说明:工作空间浏览器窗口用于显示内存中所有的变量名、数据结构、类型、大小和字节数的变量名、数据结构、类型、大小和字节数。MATLAB及仿真MATLAB及仿真5.数组编辑器窗口数组编辑器窗口启启动动数数组组编编辑辑器器窗窗口口的的方方法法有有:1.1.在在工工作作空空间间窗窗口口中中双双击击该该变变量量;2.2.选选择择变变量量点点击击鼠鼠标标右右键键,选择选择“open selection”open selection”。MATLAB及仿真MATLAB及仿真6.M文件编辑文件编辑/

15、调试窗口调试窗口 打打开开M M文文件件编编辑辑/ /调调试试器器窗窗口口的的方方法法:1 1点点击击工工具具栏栏新新建建图图标标;2 2点点击击菜菜单单“File”“New”“M-File”File”“New”“M-File”;3.3.打开已保存的打开已保存的M M文件。文件。MATLAB及仿真MATLAB及仿真2.2 MATLAB语言的数据结构语言的数据结构 2.2.1 2.2.1常量与变量常量与变量 标标识识符符:是是标标志志变变量量名名、常常量量名名、函函数数名名和和文文件件名名的的字字符符串串的的总总称称。字字符符包包括括全全部部的的英英文文字字母母(大大小小写写5252个个)、阿阿

16、拉拉伯伯数数字字和和下下划划线线等等符符号号,标标识识符符中中第第一一个个字字符符必必须是英文字母。须是英文字母。 例:变量例:变量 A A,a a,A1A1,A_1 A_1 变量变量 1A1A,1a1a,_a _a MATLAB及仿真MATLAB及仿真2.2.2赋值语句赋值语句 矩阵及其元素的赋值矩阵及其元素的赋值 赋赋值值就就是是把把数数赋赋予予代代表表常常量量或或变变量量的的标标识识符符。在在MATLABMATLAB中中,变变量量都都代代表表矩矩阵阵。列列向向量量可可被被当当作作只只有有一一列列的的矩矩阵阵;行行向向量量也也可可被被当当作作只只有有一一个行的矩阵;标量应看作个行的矩阵;标

17、量应看作1 1 1 1阶的矩阵。阶的矩阵。 赋值语句的一般形式为:赋值语句的一般形式为: 变量表达式(或数)变量表达式(或数)MATLAB及仿真MATLAB及仿真2.2.2赋值语句赋值语句例如:例如: a=3; b=4; c=a+b; d=sin(t););MATLAB及仿真MATLAB及仿真MATLAB内部特殊变量和常数内部特殊变量和常数 在在MATLABMATLAB语语言言中中为为特特定定常常数数保保留留了了一一些些名名称称,虽虽然然这这些些常常量量可可以以被被重重新新赋赋值值,但但在在编编程程时时尽量避免对这些量重新赋值。尽量避免对这些量重新赋值。MATLAB及仿真MATLAB及仿真MA

18、TLAB内部特殊变量和常数内部特殊变量和常数变量变量ansans:临时变量,通常指示当前的答案。:临时变量,通常指示当前的答案。常数常数epseps:表示浮点相对精度;其值是从:表示浮点相对精度;其值是从1.01.0到到下一个最大浮点数之间的差值。变量值作为一下一个最大浮点数之间的差值。变量值作为一些些MATLABMATLAB函数计算的相对浮点精度,按函数计算的相对浮点精度,按IEEEIEEE标标准,准,espesp近似为近似为2.2204e-0162.2204e-016。常数常数realmaxrealmax:表示最大正浮点数;任何大于该:表示最大正浮点数;任何大于该值的运算都溢出。在具有值的

19、运算都溢出。在具有IEEEIEEE标准浮点格式的标准浮点格式的机器上,机器上,realmaxrealmax略小于略小于21024 21024 ,近似为,近似为1.7977e+3081.7977e+308。常数常数realminrealmin:表示最小正浮点数;任何小于该:表示最小正浮点数;任何小于该值的运算都溢出。在具有值的运算都溢出。在具有IEEEIEEE标准浮点格式的标准浮点格式的机器上,机器上,realminrealmin略小于略小于2-1024 2-1024 ,近似为,近似为2.2251e-3082.2251e-308。 MATLAB及仿真MATLAB及仿真MATLAB内部特殊变量和常

20、数内部特殊变量和常数常数常数pipi:表示圆周率:表示圆周率 =3.1415926535897.=3.1415926535897.。表达式。表达式4*atan(1)4*atan(1)和和imag(logimag(log(-1)(-1)产生相同的值产生相同的值。常数常数InfInf:代表正无穷大,一般被:代表正无穷大,一般被0 0除或溢出则除或溢出则产生无穷大结果。如产生无穷大结果。如2/02/0,210000210000均产生结果:均产生结果:InfInf;而;而log(0)log(0)产生结果:产生结果:-Inf-Inf。虚数单位虚数单位i i,j j:表示复数虚部单位,相当于:表示复数虚部

21、单位,相当于 。NaNNaN:表示非数值。如当:表示非数值。如当Inf-InfInf-Inf,Inf/InfInf/Inf, 0*Inf0*Inf,0/00/0均产生该结果。均产生该结果。MATLAB及仿真MATLAB及仿真(1)变量)变量ans a=3; b=4; a+bans = 7变量变量ansans:临时变量,通常指示当前的答案。:临时变量,通常指示当前的答案。MATLAB及仿真MATLAB及仿真常数常数eps 常常数数epseps:表表示示浮浮点点相相对对精精度度;其其值值是是从从1.01.0到到下下一一个个最最大大浮浮点点数数之之间间的的差差值值。espesp默默认认值值为为2.2

22、204e-016,2.2204e-016,若若某某个个量量的的绝绝对对值值小小于于epseps,则则从从数数值值运运算算的的角角度度可以认为这个量为可以认为这个量为0 0。MATLAB及仿真MATLAB及仿真常数常数eps epsans = 2.2204e-016MATLAB及仿真MATLAB及仿真常数常数realmax: 常数常数realmaxrealmax: 表示最大正浮点数;任何大于该表示最大正浮点数;任何大于该值的运算都溢出。值的运算都溢出。RealmaxRealmax默认值默认值为为1.7977e+3081.7977e+308。MATLAB及仿真MATLAB及仿真常数常数realma

23、x: realmaxans = 1.7977e+308MATLAB及仿真MATLAB及仿真常数常数realmin: 常数常数realminrealmin: 表表示示最最小小正正浮浮点点数数;任任何何小小于于该该值值的的运运算算都都溢溢出出。RealminRealmin默默认认值为值为2.2251e-3082.2251e-308。 MATLAB及仿真MATLAB及仿真常数常数realmin: realminans = 2.2251e-308MATLAB及仿真MATLAB及仿真常数常数pi: pi: pi:表示圆周率表示圆周率 =3.1415926535897=3.1415926535897 表达

24、式表达式4*atan(1)4*atan(1)和和imag(log(-1)imag(log(-1)产产生相同的值生相同的值。MATLAB及仿真MATLAB及仿真常数常数pi:MATLAB及仿真MATLAB及仿真常数常数Inf: 常常数数InfInf:代代表表正正无无穷穷大大,一一般般被被0 0除除或或溢溢出出则则产产生生无无穷穷大大结结果果。如如2/02/0,210000210000均均产产生生结结果果InfInf;而;而log(0)log(0)产生结果产生结果-Inf-Inf。MATLAB及仿真MATLAB及仿真常数常数Inf:MATLAB及仿真MATLAB及仿真虚数单位虚数单位i,j i i

25、,j j:表示复数虚部单位:表示复数虚部单位 a=3+2i a=3+2ia =a = 3.0000 + 2.0000i 3.0000 + 2.0000i b=3+2j b=3+2jb =b = 3.0000 + 2.0000i 3.0000 + 2.0000iMATLAB及仿真MATLAB及仿真NaNNaNNaN:表示非数值。表示非数值。如:如:Inf-Inf;Inf-Inf;0*Inf;0*Inf;Inf/InfInf/Inf,0/00/0均产生该结果。均产生该结果。MATLAB及仿真MATLAB及仿真2.2.3矩阵的矩阵的MATLAB表示表示1 1赋值要求赋值要求在输入矩阵时,应遵循以下规

26、则:在输入矩阵时,应遵循以下规则:整个矩阵的值应放在方括号中;整个矩阵的值应放在方括号中;同一行中各元素之间以逗号同一行中各元素之间以逗号“,”或空格或空格分开;分开;不同行的元素以分号不同行的元素以分号“;”隔开。隔开。MATLAB及仿真MATLAB及仿真2.2.3矩阵的矩阵的MATLAB表示表示 a=1 2;3 4a = 1 2 3 4 a=1,2;3,4a = 1 2 3 4例如:例如:MATLAB及仿真MATLAB及仿真2.2.3矩阵的矩阵的MATLAB表示表示 一一般般来来说说,一一个个命命令令行行输输入入一一条条命命令令,命命令令行行以以回回车车结结束束。但但一一个个命命令令行行也

27、也可可以以输输入入若若干干条条命命令令,各各命命令令之之间间以以逗逗号号分分隔隔,若前一命令后带有分号,则逗号可以省略。若前一命令后带有分号,则逗号可以省略。 例如:例如: p=15,m=35;p=15,m=35; p=15;m=35 p=15;m=35 MATLAB及仿真MATLAB及仿真2.2.3矩阵的矩阵的MATLAB表示表示 如如果果一一个个命命令令行行很很长长,一一个个物物理理行行之之内内写写不不下下,可可以以在在第第一一个个物物理理行行之之后后加加上上3 3个个小小黑黑点点并并按按下下回回车车键键,然然后后接接着着下下一一个个物物理理行行继继续续写写命命令令的的其其他他部部分分。3

28、 3个个小小黑黑点点称称为为续续行行符符,即即把把下下面面的的物物理行看作该行的逻辑继续理行看作该行的逻辑继续 。MATLAB及仿真MATLAB及仿真2.2.3矩阵的矩阵的MATLAB表示表示a=3;b=2;c=1; d=a+b.-cd = 4MATLAB及仿真MATLAB及仿真2.2.3矩阵的矩阵的MATLAB表示表示2 2变量的元素的标注变量的元素的标注 在在MATLABMATLAB中,变量的元素(即矩阵元)中,变量的元素(即矩阵元)用圆括号用圆括号“()()”中的数字(也称为下标)中的数字(也称为下标)来注明,一维矩阵(也称数组)中的元素来注明,一维矩阵(也称数组)中的元素用一个下标表示

29、,二维矩阵由两个下标数用一个下标表示,二维矩阵由两个下标数构成,以逗号分开,对三维矩阵则由三个构成,以逗号分开,对三维矩阵则由三个下标数构成。下标数构成。 MATLAB及仿真MATLAB及仿真变量的元素的标注:一维矩阵举例变量的元素的标注:一维矩阵举例 a=rand(1,3) a=rand(1,3)a =a = 0.8913 0.7621 0.4565 0.8913 0.7621 0.4565 b=a(2) b=a(2)b =b = 0.7621 0.7621MATLAB及仿真MATLAB及仿真变量的元素的标注:二维矩阵举例变量的元素的标注:二维矩阵举例 a=rand(2,3) a=rand(

30、2,3)a =a = 0.6154 0.9218 0.1763 0.6154 0.9218 0.1763 0.7919 0.7382 0.4057 0.7919 0.7382 0.4057 b=a(2,2) b=a(2,2)b =b = 0.7382 0.7382MATLAB及仿真MATLAB及仿真变量的元素的标注:三维矩阵举例变量的元素的标注:三维矩阵举例 a=rand(2,2,2) a=rand(2,2,2)a(:,:,1) =a(:,:,1) = 0.9355 0.4103 0.9355 0.4103 0.9169 0.8936 0.9169 0.8936a(:,:,2) =a(:,:,

31、2) = 0.0579 0.8132 0.0579 0.8132 0.3529 0.0099 0.3529 0.0099 b=a(2,2,1) b=a(2,2,1)b =b = 0.8936 0.8936MATLAB及仿真MATLAB及仿真2.2.3矩阵的矩阵的MATLAB表示表示3 3赋值技巧赋值技巧(1)(1)利用冒号利用冒号“:” ” 给全行或部分元素赋值;给全行或部分元素赋值;(2)(2)利用行、列标注构成新的矩阵。利用行、列标注构成新的矩阵。MATLAB及仿真MATLAB及仿真(1)利用冒号利用冒号“:” 给全行的元素赋给全行的元素赋值值 a=rand(2,2) a=rand(2,2

32、)a =a = 0.1389 0.1987 0.1389 0.1987 0.2028 0.6038 0.2028 0.6038 a(:,2)=1 a(:,2)=1a =a = 0.1389 1.0000 0.1389 1.0000 0.2028 1.0000 0.2028 1.0000思考:思考:如果接下来输入如果接下来输入命令:命令:a(1,:)=1a(1,:)=1那么那么a=a=?a =a =1.0000 1.00001.0000 1.00000.2028 1.00000.2028 1.0000MATLAB及仿真MATLAB及仿真 a=ones(4) a=ones(4)a =a = 1 1

33、 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 a(2:4,3:4)=0 a(2:4,3:4)=0a =a = 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0习题习题: :A A为为5*45*4矩阵,矩阵,B B为为4*64*6矩阵,矩阵,C=A*BC=A*B1)1)求出乘积矩阵求出乘积矩阵C C,2)2)将将C C矩矩阵阵的的右右下下角角2*32*3的的子子矩矩阵阵赋赋给给D D矩矩阵。阵。利用冒号利用冒号“:” 给局部元素赋值给局部元素赋

34、值MATLAB及仿真MATLAB及仿真习题习题A=1,2,3,3;2,3,5,7;1,3,5,A=1,2,3,3;2,3,5,7;1,3,5,7;3,2,3,9;1,8,9,47;3,2,3,9;1,8,9,4A =A = 1 2 3 3 1 2 3 3 2 3 5 7 2 3 5 7 1 3 5 7 1 3 5 7 3 2 3 9 3 2 3 9 1 8 9 4 1 8 9 4B=1,4,3,6,7,8;2,3,3,5,5,4;2,6,5,B=1,4,3,6,7,8;2,3,3,5,5,4;2,6,5,3,4,2;1,8,9,5,4,33,4,2;1,8,9,5,4,3B =B = 1 4

35、3 6 7 8 1 4 3 6 7 8 2 3 3 5 5 4 2 3 3 5 5 4 2 6 5 3 4 2 2 6 5 3 4 2 1 8 9 5 4 3 1 8 9 5 4 3MATLAB及仿真MATLAB及仿真2.10习题(习题(2) C=A*B C=A*B C = C = 14 52 51 40 41 31 14 52 51 40 41 31 25 103 103 77 77 59 25 103 103 77 77 59 24 99 100 71 70 51 24 99 100 71 70 51 22 108 111 82 79 65 22 108 111 82 79 65 39 1

36、14 108 93 99 70 39 114 108 93 99 70 D=C(4:5,4:6)D=C(4:5,4:6) D = D = 82 79 65 82 79 65 93 99 70 93 99 70MATLAB及仿真MATLAB及仿真(2)利用行、列标注构成新的矩阵利用行、列标注构成新的矩阵若要产生矩阵若要产生矩阵a =a = 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 1可以采用以下方法:可以采用以下方法: a=ones(3,3) a=ones(3,3)a =a = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 a(2,2)=2 a

37、(2,2)=2MATLAB及仿真MATLAB及仿真2.2.3矩阵的矩阵的MATLAB表示表示4 4特殊矩阵和数组特殊矩阵和数组(1)(1)单位矩阵函数单位矩阵函数eye();eye();(2)zeros(2)zeros函数、函数、onesones函数函数; ;(3)rand(3)rand以及以及randn randn 函数函数; ;(4)linspace(4)linspace函数。函数。MATLAB及仿真MATLAB及仿真1.eye(m,n)eyeeye(m m,n n)产生对角线元素为产生对角线元素为1 1,其他元素为,其他元素为0 0的矩的矩阵。阵。例如:例如: eye(3,2) eye(

38、3,2)ans =ans = 1 0 1 0 0 1 0 1 0 0 0 0 a=eye(3,3) a=eye(3,3)a =a = 1 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1MATLAB及仿真MATLAB及仿真2. zeros函数、函数、ones函数函数zeroszeros(m m,n n):产生:产生m m行,行,n n列矩阵,列矩阵,矩阵元素均为矩阵元素均为0 0。onesones(m m,n n):):产生产生m m行,行,n n列矩阵,列矩阵,矩阵元素均为矩阵元素均为1 1。 zeros(2,3) zeros(2,3)ans =ans = 0 0 0 0

39、0 0 0 0 0 0 0 0 ones(3,2) ones(3,2)ans =ans = 1 1 1 1 1 1 1 1 1 1 1 1MATLAB及仿真MATLAB及仿真3.rand以及以及randn 函数函数randrand:产生随机矩阵,矩阵元素满足在:产生随机矩阵,矩阵元素满足在0 0、 1 1之间均匀分布。之间均匀分布。randnrandn:产生随机矩阵,矩阵元素服从均产生随机矩阵,矩阵元素服从均值为值为0 0,方差为,方差为1 1的正态分布。的正态分布。 rand(3,3) rand(3,3)ans =ans = 0.5252 0.8381 0.5252 0.8381 0.202

40、6 0.0196 0.2026 0.0196 0.6721 0.6813 0.6721 0.6813 randn(3,2) randn(3,2)ans =ans = -1.1465 -0.0376 -1.1465 -0.0376 1.1909 0.3273 1.1909 0.3273 1.1892 0.1746 1.1892 0.1746MATLAB及仿真MATLAB及仿真4. linspace函数函数linspacelinspace函数函数的调用格式如下:的调用格式如下:y=linspace(a,b,n)y=linspace(a,b,n)产产生生一一个个行行矢矢量量y y,该该矢矢量量把把a

41、 a和和b b间的数等分间的数等分n n份而得到。份而得到。 例:例: y=linspace(1,100,5) y=linspace(1,100,5)y =1.0000 25.7500 50.5000 75.2500 100.0000y =1.0000 25.7500 50.5000 75.2500 100.0000MATLAB及仿真MATLAB及仿真2.2.3矩阵的矩阵的MATLAB表示表示 5 5复数的赋值方式复数的赋值方式 MATLABMATLAB的的每每一一个个元元素素都都可可以以是是复复数数,实实数数是是复复数数的的特特例例。复复数数的的虚虚数数部部分分用用i i或或j j表示。对复

42、数矩阵有两种赋值方法:表示。对复数矩阵有两种赋值方法: (1)(1)可将矩阵元逐个赋予复数;可将矩阵元逐个赋予复数; (2)(2)将矩阵的实部和虚部分别赋值。将矩阵的实部和虚部分别赋值。MATLAB及仿真MATLAB及仿真复数的赋值方式复数的赋值方式逐个赋值:逐个赋值: a=zeros(2,1); a(1,1)=1+2i; a(2,1)=2+2ia =1.0000 + 2.0000i 2.0000 + 2.0000i实、虚部分别赋值:实、虚部分别赋值: b=1;2; c=2;2; d=b+cid =1.0000 + 2.0000i 2.0000 + 2.0000iMATLAB及仿真MATLAB

43、及仿真2.2.3矩阵的矩阵的MATLAB表示表示 6 6变量检查变量检查 在程序调试或变量的赋值过程,往往需要在程序调试或变量的赋值过程,往往需要检查工作空间中的变量、变量的阶数以及检查工作空间中的变量、变量的阶数以及变量赋值内容。在检查变量及其阶数等内变量赋值内容。在检查变量及其阶数等内容时,既可用工作空间窗口,也可在命令容时,既可用工作空间窗口,也可在命令窗口使用窗口使用whowho或或whoswhos命令来完成检查。当命令来完成检查。当查看某变量的赋值情况,可在命令窗口直查看某变量的赋值情况,可在命令窗口直接键入该变量名回车即可。接键入该变量名回车即可。 MATLAB及仿真MATLAB及

44、仿真变量检查(变量检查(who,whos) d =1.0000 + 2.0000i 2.0000 + d =1.0000 + 2.0000i 2.0000 + 2.0000i;2.0000i; whos whos Name Size Bytes Class Name Size Bytes Class d 1x2 32 double array (complex) d 1x2 32 double array (complex)Grand total is 2 elements using 32 bytesGrand total is 2 elements using 32 bytes who w

45、hoYour variables are:Your variables are:d d MATLAB及仿真MATLAB及仿真2.3 MATLAB下矩阵的运算下矩阵的运算 2.3.1 2.3.1 矩阵的代数运算矩阵的代数运算 (1)(1)矩阵加减法矩阵加减法“”:ABAB功能:两矩阵对应元素相加减。因此,功能:两矩阵对应元素相加减。因此,A A和和B B两矩阵必须有相同的大小,或其中之两矩阵必须有相同的大小,或其中之一为标量,标量可以与任意大小的矩阵相一为标量,标量可以与任意大小的矩阵相加。加。MATLAB及仿真MATLAB及仿真(1)矩阵加减法矩阵加减法“”:AB相同大小矩阵相加:相同大小矩阵

46、相加: a=2,3; a=2,3; b=ones(1,2) b=ones(1,2)b =b = 1 1 1 1 c=a+b c=a+bc =c = 3 4 3 4矩阵与常数相加:矩阵与常数相加: a=2,3 a=2,3; b =1 b =1; c=a+b c=a+bc =c = 3 4 3 4MATLAB及仿真MATLAB及仿真 2.3.1 矩阵的代数运算矩阵的代数运算(2)(2)矩阵相乘矩阵相乘“*”“*”:A*BA*B 功能:功能:C =A*BC =A*B为两矩阵线性代数的乘积。为两矩阵线性代数的乘积。例:例: a=1,2; a=1,2; b=1;3 b=1;3; c=a*b c=a*bc

47、 =c = 7 7MATLAB及仿真MATLAB及仿真 2.3.1 矩阵的代数运算矩阵的代数运算(3) (3) 矩阵元素相乘矩阵元素相乘“.*”.*”:A.*BA.*B 功能:矩阵功能:矩阵A A和和B B的对应元素相乘;因此,的对应元素相乘;因此,A A和和B B必须大小相同,或其中之一为标量。必须大小相同,或其中之一为标量。 a=1,2; a=1,2; b=1,3 b=1,3; c=a.*b c=a.*bc =c = 1 6 1 6MATLAB及仿真MATLAB及仿真 2.3.1 矩阵的代数运算矩阵的代数运算(4)(4)矩阵右除矩阵右除“B/A”B/A”与左除与左除“AB”AB” 如果如果

48、A A为一非奇异矩阵,则为一非奇异矩阵,则B/AB/A与与ABAB可通过可通过A A的逆矩阵与的逆矩阵与B B矩阵得到:矩阵得到: B/A=B*inv(A)B/A=B*inv(A); AB=inv(A)*BAB=inv(A)*B。MATLAB及仿真MATLAB及仿真 2.3.1 矩阵的代数运算矩阵的代数运算(5)(5)矩阵元素右除矩阵元素右除“A./B”A./B”与左除与左除“A.B”A.B” 矩矩阵阵元元素素右右除除“A./B”A./B”表表示示矩矩阵阵元元素素A(i,j)/B(i,j)A(i,j)/B(i,j); 矩矩 阵阵 元元 素素 左左 除除 “A.B” A.B” 表表 示示 矩矩

49、阵阵B(i,j)/A(i,j)B(i,j)/A(i,j),因因此此,A A和和B B必必须须大大小小相相同,或者其中之一为标量。同,或者其中之一为标量。MATLAB及仿真MATLAB及仿真 2.3.1 矩阵的代数运算矩阵的代数运算右除:右除: a=4,4;4,4; a=4,4;4,4; b=2,2;2,2; b=2,2;2,2; c=a./b c=a./bc =c = 2 2 2 2 2 2 2 2左除:左除: a=4,4;4,4; a=4,4;4,4; b=2,2;2,2; b=2,2;2,2; d=a.b d=a.bd =d = 0.5000 0.5000 0.5000 0.5000 0.

50、5000 0.5000 0.5000 0.5000MATLAB及仿真MATLAB及仿真 2.3.1 矩阵的代数运算矩阵的代数运算(6)(6)矩阵幂矩阵幂“”: x xp p 表示表示x x的的p p次幂;次幂; 例:例: x=2;p=2; x=2;p=2; xp xpans =ans = 4 4MATLAB及仿真MATLAB及仿真 2.3.1 矩阵的代数运算矩阵的代数运算(7)(7)矩阵元素幂矩阵元素幂“. .”:A.A.B B A.A. B B表表 示示 矩矩 阵阵 元元 素素 A A( i,ji,j) 的的B(i,j)B(i,j)次次幂幂,A A与与B B必必须须大大小小相相同同,或或者者其中之一为标量。其中之一为标量。MATLAB及仿真MATLAB及仿真2.3.1 矩阵的代数运算矩阵的代数运算A A与与B B必须大小相同:必须大小相同: a=1,2;1,2; a=1,2;1,2; b=2,2;2,2; b=2,2;2,2; c=a.b c=a.bc =c = 1 4 1 4 1 4 1 4其中之一为标量。其中之一为标量。 a=1,2;1,2; a=1,2;1,2; b=2; b=2; c=a.b c=a.bc =c = 1 4 1 4 1 4 1 4

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 机械/制造/汽车 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号