Matlab应用-第二次.ppt

上传人:M****1 文档编号:571317749 上传时间:2024-08-10 格式:PPT 页数:51 大小:1,011KB
返回 下载 相关 举报
Matlab应用-第二次.ppt_第1页
第1页 / 共51页
Matlab应用-第二次.ppt_第2页
第2页 / 共51页
Matlab应用-第二次.ppt_第3页
第3页 / 共51页
Matlab应用-第二次.ppt_第4页
第4页 / 共51页
Matlab应用-第二次.ppt_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《Matlab应用-第二次.ppt》由会员分享,可在线阅读,更多相关《Matlab应用-第二次.ppt(51页珍藏版)》请在金锄头文库上搜索。

1、1Matlab应用数据基础杨颖信息与电气工程学院2011-5-8信电学院计算机系信电学院计算机系 杨颖杨颖2Matlab数据基础数据基础n数值向量和数组数值向量和数组nMatlab数据类型数据类型n矩阵及数值计算矩阵及数值计算信电学院计算机系信电学院计算机系 杨颖杨颖3数值向量和数组数值向量和数组-生成生成n在命令窗口中直接输入向量在命令窗口中直接输入向量 生成向量最简单的方法就是在命令窗口中按生成向量最简单的方法就是在命令窗口中按一定格式直接输入。输入的格式要求是,向量一定格式直接输入。输入的格式要求是,向量元素用元素用“ ”括起来,元素之间用空格、逗括起来,元素之间用空格、逗号或者分号相隔

2、。号或者分号相隔。 a2=15,21,27,93,101; a2=15,21,27,93,101; a2=15,21,27,93,101; a2=15,21,27,93,101; a1=15;21;27;93;101; a1=15;21;27;93;101; a1=15;21;27;93;101; a1=15;21;27;93;101;信电学院计算机系信电学院计算机系 杨颖杨颖4数值向量和数组数值向量和数组-生成生成n等差元素向量的生成等差元素向量的生成冒号生成法:冒号生成法:Vec=vec0:n:vecn使用使用linspace函数:函数:Vec=linspace(vec0,vecn,n)使

3、用使用logspace函数:函数:Vec=logspace(d1,dn,n)产生从产生从10d1到到10dn以等差数为幂分布的以等差数为幂分布的n个数个数信电学院计算机系信电学院计算机系 杨颖杨颖5数值向量和数组数值向量和数组-生成生成n利用随机数发生器rand(1,n): 产生n个0,1区间均匀分布的随机数randn(1,n): 产生n个服从N(0,1)正态分布的随机数信电学院计算机系信电学院计算机系 杨颖杨颖6数值向量和数组数值向量和数组-寻址访问寻址访问 通过对数组下标的访问来实现数组寻址通过对数组下标的访问来实现数组寻址通过对数组下标的访问来实现数组寻址通过对数组下标的访问来实现数组寻

4、址 ArrayName(ArrayName(下标下标下标下标) ) A=rand(1,5) A=rand(1,5) A=rand(1,5) A=rand(1,5)A =A =A =A = 0.9501 0.2311 0.6068 0.4860 0.8913 0.9501 0.2311 0.6068 0.4860 0.8913 0.9501 0.2311 0.6068 0.4860 0.8913 0.9501 0.2311 0.6068 0.4860 0.8913 A(4)A(4)A(4)A(4)ans =ans =ans =ans = 0.4860 0.4860 0.4860 0.4860 A

5、(2 4 5)A(2 4 5)A(2 4 5)A(2 4 5)ans =ans =ans =ans = 0.2311 0.4860 0.8913 0.2311 0.4860 0.8913 0.2311 0.4860 0.8913 0.2311 0.4860 0.8913 A(5:-2:1)A(5:-2:1)A(5:-2:1)A(5:-2:1)ans =ans =ans =ans = 0.8913 0.6068 0.9501 0.8913 0.6068 0.9501 0.8913 0.6068 0.9501 0.8913 0.6068 0.9501 A(3:end)A(3:end)A(3:end

6、)A(3:end)ans =ans =ans =ans = 0.6068 0.4860 0.8913 0.6068 0.4860 0.8913 0.6068 0.4860 0.8913 0.6068 0.4860 0.8913信电学院计算机系信电学院计算机系 杨颖杨颖7数值向量和数组数值向量和数组n向量运算向量运算向量与数的四则运算向量与数的四则运算n n向量与数的加法向量与数的加法向量与数的加法向量与数的加法( (减法减法减法减法) ): +-+-向量中的每个元素与数的加法向量中的每个元素与数的加法(减法减法)运算。运算。n n向量与数的乘法向量与数的乘法向量与数的乘法向量与数的乘法( (除

7、法除法除法除法) ):* */ /向量中的每个元素与数的乘法向量中的每个元素与数的乘法(除法除法)运算。运算。向量与向量之间的加减运算:向量与向量之间的加减运算:+-n n向量与向量的加法向量与向量的加法向量与向量的加法向量与向量的加法( (减法减法减法减法) )运算:向量中的每运算:向量中的每运算:向量中的每运算:向量中的每个元素与另一个向量中相对应的元素的加法个元素与另一个向量中相对应的元素的加法个元素与另一个向量中相对应的元素的加法个元素与另一个向量中相对应的元素的加法( (减法减法减法减法) )运算。运算。运算。运算。信电学院计算机系信电学院计算机系 杨颖杨颖8数值向量和数组数值向量和

8、数组n向量运算向量运算向量范数向量范数:normnorm(V,p)|V|p=|V(i)|p1/p向量元素求和向量元素求和:sumsum(v)点积点积:dotdot(v1,v2)(v1,v2)n n两个向量的点积等于其中一个向量的模与另一个向两个向量的点积等于其中一个向量的模与另一个向两个向量的点积等于其中一个向量的模与另一个向两个向量的点积等于其中一个向量的模与另一个向量在这个向量的方向上的投影的乘积量在这个向量的方向上的投影的乘积量在这个向量的方向上的投影的乘积量在这个向量的方向上的投影的乘积叉积叉积:crosscross(v1,v2)(v1,v2)n n叉积的几何意义是指过两个相交向量的交

9、点,并与叉积的几何意义是指过两个相交向量的交点,并与叉积的几何意义是指过两个相交向量的交点,并与叉积的几何意义是指过两个相交向量的交点,并与此两向量所在平面垂直的向量此两向量所在平面垂直的向量此两向量所在平面垂直的向量此两向量所在平面垂直的向量信电学院计算机系信电学院计算机系 杨颖杨颖9数值向量和数组数值向量和数组n数组运算数组运算数组的加法数组的加法(减法减法):+-数组的乘法数组的乘法(除法除法):.*./数组的乘方数组的乘方:.信电学院计算机系信电学院计算机系 杨颖杨颖10Matlab数据类型数据类型Matlab中建立了多种类型来满中建立了多种类型来满足不同用户的需要。足不同用户的需要。

10、Matlab中共中共有有14种基本数据类型,如字符型、种基本数据类型,如字符型、整数整数8位、整数位、整数16位、整数位、整数32位、位、数值数值8位、数值位、数值16位、数值位、数值32位、位、数值单精度、数值双精度、单元数值单精度、数值双精度、单元型、结构型等,这些数据类型都型、结构型等,这些数据类型都以数组方式出现。以数组方式出现。信电学院计算机系信电学院计算机系 杨颖杨颖11Matlab数据类型数据类型-常量和变量常量和变量n常量常量在在MATLAB中有一些特定的变量,它们已经中有一些特定的变量,它们已经被预定义了某个特定的值,因此这些变量被被预定义了某个特定的值,因此这些变量被称为常

11、量。称为常量。常常 量量常量的功能常量的功能常常 量量常量的功能常量的功能ansans用作结果的默认变量名用作结果的默认变量名realminrealmin最小的正浮点数最小的正浮点数beepbeep使计算机发出使计算机发出“嘟嘟嘟嘟”声声realmaxrealmax最大的正浮点数最大的正浮点数pipi圆周率圆周率bitmaxbitmax最大的正整数最大的正整数epseps浮点数相对误差浮点数相对误差i i或或j j复数单位复数单位infinf无穷大无穷大nannan不定数不定数信电学院计算机系信电学院计算机系 杨颖杨颖12Matlab数据类型数据类型-常量和变量常量和变量n变量变量MATLAB

12、7语言不要求对所使用的变量进行事语言不要求对所使用的变量进行事先说明,而且它也不需要指定变量的类型,系先说明,而且它也不需要指定变量的类型,系统会根据该变量被赋予的值或对该变量所进行统会根据该变量被赋予的值或对该变量所进行的操作来自动确定变量的类型的操作来自动确定变量的类型变量名长度变量名长度不超过不超过不超过不超过3131位位位位,超过,超过31位的字符系统位的字符系统将忽略不计将忽略不计变量名变量名区分大小写区分大小写区分大小写区分大小写变量名必须以变量名必须以字母开头字母开头字母开头字母开头,变量名中可以包含,变量名中可以包含字字字字母、数字或下划线母、数字或下划线母、数字或下划线母、数

13、字或下划线,但不允许出现,但不允许出现标点符号标点符号标点符号标点符号信电学院计算机系信电学院计算机系 杨颖杨颖13Matlab数据类型数据类型-数值型数值型n几乎在所有的情况下,几乎在所有的情况下,MATLAB的的数据都是以数据都是以双精度数值双精度数值来表示的,来表示的,这些双精度数在系统内部用二进制这些双精度数在系统内部用二进制来表示。来表示。n数据输出时用户可以用数据输出时用户可以用format命令命令设置或改变数据输出格式。设置或改变数据输出格式。信电学院计算机系信电学院计算机系 杨颖杨颖14Matlab数据类型数据类型-数值型数值型nformat命令的格式为:命令的格式为:form

14、at+格式符格式符其中格式符决定数据的输出格式。其中格式符决定数据的输出格式。 shortshort小数点后小数点后4 4位位( (系统默认值系统默认值) )long long 小数点后小数点后1414位位shortshort e e 5 5位指数形式位指数形式longlong e e 1515位指数形式位指数形式 例如:例如:pi, bitmax ,realmaxpi, bitmax ,realmax信电学院计算机系信电学院计算机系 杨颖杨颖15Matlab数据类型数据类型-复数复数nMATLAB7语言对复数的处理也是十语言对复数的处理也是十分简便的,在处理复数问题时,不需分简便的,在处理复

15、数问题时,不需要进行其他任何的附加操作。要进行其他任何的附加操作。a2=pi+3.14ja2=3.1416+3.1400ib=4*(1+3/sqrt(-1)b=4.0000-12.0000i信电学院计算机系信电学院计算机系 杨颖杨颖16Matlab数据类型数据类型-字符型字符型MATLAB中的字符串一般是中的字符串一般是ASCII值值的数值数组,它作为字符串表达式进的数值数组,它作为字符串表达式进行显示。行显示。MATLAB对字符串的设定非常对字符串的设定非常简单,只需用简单,只需用单引号单引号()将需设定的字符串将需设定的字符串引注即可。引注即可。 str=I have many good

16、friends! str=I have many good friends! str=I have many good friends! str=I have many good friends!str =str =str =str =I have many good friends!I have many good friends!I have many good friends!I have many good friends! whos whos whos whos Name Size Bytes Class Name Size Bytes Class Name Size Bytes C

17、lass Name Size Bytes Class str 1x25 50 char array str 1x25 50 char array str 1x25 50 char array str 1x25 50 char array字符串实际上字符型数组字符串实际上字符型数组字符串实际上字符型数组字符串实际上字符型数组信电学院计算机系信电学院计算机系 杨颖杨颖17Matlab数据类型数据类型-字符串操作字符串操作n字符串的读取:与数组读取一样字符串的读取:与数组读取一样字符串名(索引)字符串名(索引) str= str= str= str= 今天是今天是今天是今天是200820082008

18、2008年年年年10101010月月月月10101010日,日,日,日, 我们班一我们班一我们班一我们班一起去上海旅游。起去上海旅游。起去上海旅游。起去上海旅游。 str =str =str =str =今天,是今天,是今天,是今天,是2005200520052005年年年年10101010月月月月25252525日,日,日,日, 我们班一起去上海我们班一起去上海我们班一起去上海我们班一起去上海旅游。旅游。旅游。旅游。 str(6) str(6) str(6) str(6)ans =ans =ans =ans =0 0 0 0信电学院计算机系信电学院计算机系 杨颖杨颖18Matlab数据类型数

19、据类型-字符串操作字符串操作n字符串的连接:字符串的连接:strcat:水平连接水平连接strvcat:垂直连接:垂直连接 A = A = A = A = Today is sundayToday is sundayToday is sundayToday is sunday ; ; ; ; B = B = B = B = I want to go homeI want to go homeI want to go homeI want to go home ; ; ; ; CH = strcat(A,B) CH = strcat(A,B) CH = strcat(A,B) CH = strc

20、at(A,B)CH=CH=CH=CH=Today is sunday I want to go homeToday is sunday I want to go homeToday is sunday I want to go homeToday is sunday I want to go homeCV = strvcat(A,B)CV = strvcat(A,B)CV = strvcat(A,B)CV = strvcat(A,B)CV =CV =CV =CV =Today is sunday Today is sunday Today is sunday Today is sunday I

21、 want to go homeI want to go homeI want to go homeI want to go home信电学院计算机系信电学院计算机系 杨颖杨颖19Matlab数据类型数据类型-字符串操作字符串操作n字符串的比较:字符串的比较:判断两个输入的字符判断两个输入的字符串是否相等。串是否相等。strcmp:比较字符串大小比较字符串大小strncmp:比较字符串的比较字符串的前前n个字符个字符当相等时,系统将返回值当相等时,系统将返回值1,不相等时,不相等时,返回值返回值0 words1= words1= words1= words1= Sit downSit down

22、Sit downSit down ; ; ; ; words2 = words2 = words2 = words2 = SituationSituationSituationSituation ; ; ; ; X = X = X = X = strcmp(words1,words2);strcmp(words1,words2);strcmp(words1,words2);strcmp(words1,words2); Y= Y= Y= Y= strncmp(words1,words2,3);strncmp(words1,words2,3);strncmp(words1,words2,3);st

23、rncmp(words1,words2,3);信电学院计算机系信电学院计算机系 杨颖杨颖20Matlab数据类型数据类型-字符串操作字符串操作n字符串的查找与替换:字符串的查找与替换:findstr:K=findstr(S1,S2)根据所给的字符串中的字符来查找字符串,当根据所给的字符串中的字符来查找字符串,当查找成功后返回第一个相同字符的具体位置。查找成功后返回第一个相同字符的具体位置。S1和和S2的位置可以互换。的位置可以互换。strfind:K=strfind(text,pattern)只能在字符串只能在字符串text中查找字符串中查找字符串pattern,如果如果pattern的长度大

24、于的长度大于text时会返回时会返回。strrep:S=strrep(S1,S2,S3)把字符串把字符串S1中的子串中的子串S2全换成字符串全换成字符串S3,并返并返回置换后的新字符串。回置换后的新字符串。信电学院计算机系信电学院计算机系 杨颖杨颖21Matlab数据类型数据类型-字符串变换字符串变换n字符串的字符串的ASCII码操作:码操作: A = A = A = A = Today is sundayToday is sundayToday is sundayToday is sunday ; ; ; ;s=s=s=s=abs(A)abs(A)abs(A)abs(A)s =s =s =s

25、 = Columns 1 through 11 Columns 1 through 11 Columns 1 through 11 Columns 1 through 11 84 111 100 97 121 32 105 84 111 100 97 121 32 105 84 111 100 97 121 32 105 84 111 100 97 121 32 105 115 32 115 117115 32 115 117115 32 115 117115 32 115 117 Columns 12 through 15 Columns 12 through 15 Columns 12 t

26、hrough 15 Columns 12 through 15 110 100 97 121 110 100 97 121 110 100 97 121 110 100 97 121B = B = B = B = char(s)char(s)char(s)char(s)信电学院计算机系信电学院计算机系 杨颖杨颖22Matlab数据类型数据类型-字符串转换字符串转换n常见的字符串转换函数常见的字符串转换函数函函 数数功功 能能函函 数数功功 能能hex2dechex2dec将将1616进进制制字字符符串串转转化化为为1010进制整数进制整数dec2hexdec2hex将将1010进进制制整整数数

27、转转化化为为1616进进制制字字符符串串bin2decbin2dec将将2 2进进制制字字符符串串转转化化为为1010进进制整数制整数dec2bindec2bin将将1010进制整数转化为进制整数转化为2 2进制字符串进制字符串base2debase2dec c转转化化B B底底字字符符串串为为1010进进制制整整数数hex2numhex2num将将1616进制字符转化为双精度数进制字符转化为双精度数upperupper改该字符串为大写改该字符串为大写lowerlower改该字符串为小写改该字符串为小写fprintffprintf把把格格式式化化的的文文本本写写到到文文件件中或显示屏上中或显示

28、屏上sprintfsprintf用格式控制,数字转换成字符串用格式控制,数字转换成字符串sscanfsscanf用用格格式式控控制制,字字符符串串转转换换成数字成数字charcharASCIIASCII码转换成字符串码转换成字符串num2strnum2str数字转换成字符串数字转换成字符串int2strint2str整数转换成字符串整数转换成字符串信电学院计算机系信电学院计算机系 杨颖杨颖23Matlab数据类型数据类型-单单元元数数组组单元数组是一种特殊类型数组,单元数组是一种特殊类型数组,它的每一个元素是单元,在单元里可它的每一个元素是单元,在单元里可以保存各种类型的以保存各种类型的Mat

29、lab数组,例数组,例如实数矩阵,文本字符串数组,结构如实数矩阵,文本字符串数组,结构数组等。数组等。直接生成单元数组直接生成单元数组使用使用cell函数生成单元数组函数生成单元数组单元数组的内容的显示或获取单元数组的内容的显示或获取信电学院计算机系信电学院计算机系 杨颖杨颖24直接生成单元数组直接生成单元数组n用类似矩阵的记号用类似矩阵的记号,即即花括号花括号将复将复杂的数据结构纳入一个变量之下。杂的数据结构纳入一个变量之下。n直接生成:直接生成: A =Gone with the wind, A =Gone with the wind, A =Gone with the wind, A =

30、Gone with the wind, Scarlett,2008/10/10, 2+3i, cos(pi)Scarlett,2008/10/10, 2+3i, cos(pi)Scarlett,2008/10/10, 2+3i, cos(pi)Scarlett,2008/10/10, 2+3i, cos(pi)A = A = A = A = 1x36 char 1x2 double 1x36 char 1x2 double 1x36 char 1x2 double 1x36 char 1x2 double信电学院计算机系信电学院计算机系 杨颖杨颖25直接生成单元数组直接生成单元数组n与矩阵中的

31、与矩阵中的圆括号圆括号表示下标类似,表示下标类似,单元数组由单元数组由花括号花括号表示下标。表示下标。 A =Gone with the wind, A =Gone with the wind, A =Gone with the wind, A =Gone with the wind, Scarlett,2008/10/10, 2+3i, cos(pi)Scarlett,2008/10/10, 2+3i, cos(pi)Scarlett,2008/10/10, 2+3i, cos(pi)Scarlett,2008/10/10, 2+3i, cos(pi)A = A = A = A = 1x36

32、 char 1x2 double 1x36 char 1x2 double 1x36 char 1x2 double 1x36 char 1x2 double A1 A1 A1 A1信电学院计算机系信电学院计算机系 杨颖杨颖26使用使用cell函数生成单元数组函数生成单元数组n使用使用cell函数生成函数生成n应用举例应用举例 A= A= A= A=cell(1,4)cell(1,4)cell(1,4)cell(1,4)A = A = A = A = A1,1A1,1A1,1A1,1= MondayMondayMondayMonday TimeTimeTimeTimeA = A = A = A

33、 = MondayTime MondayTime MondayTime MondayTime A2A2A2A2=1 2 3=1 2 3=1 2 3=1 2 3;4 5 64 5 64 5 64 5 6A = A = A = A = MondayTime 2x3 double MondayTime 2x3 double MondayTime 2x3 double MondayTime 2x3 double 信电学院计算机系信电学院计算机系 杨颖杨颖27单元数组的内容的显示或获取单元数组的内容的显示或获取celldispcelldispcelldispcelldisp(A);(A);(A);(A)

34、;A2A2A2A2 ans =ans =ans =ans = 1 2 3 1 2 3 1 2 3 1 2 3 4 5 6 4 5 6 4 5 6 4 5 6B = A,B = A,B = A,B = A, SunnySunnySunnySunny ; ; ; ; WindyWindyWindyWindy ;celldispcelldispcelldispcelldisp(B);(B);(B);(B);B1;B1;B1;B1;celldisp(B1);celldisp(B1);celldisp(B1);celldisp(B1);信电学院计算机系信电学院计算机系 杨颖杨颖28Matlab数据类型数

35、据类型-结构型变量结构型变量n结构类型是对某个对象,不同属性结构类型是对某个对象,不同属性的数据,用一系列数据来表示,结的数据,用一系列数据来表示,结构类型中的变量可以是数值、亦可构类型中的变量可以是数值、亦可以是字符串。因此,图书条目,产以是字符串。因此,图书条目,产品档案等都可以是结构类型。品档案等都可以是结构类型。直接输入法生成结构型变量直接输入法生成结构型变量使用使用struct函数生成结构型变量函数生成结构型变量在结构体变量中添加、调用成员变量在结构体变量中添加、调用成员变量在结构体变量中删除成员变量在结构体变量中删除成员变量信电学院计算机系信电学院计算机系 杨颖杨颖29直接输入法生

36、成结构型变量直接输入法生成结构型变量 student.test=99 56 96 87 67 69 87 76 student.test=99 56 96 87 67 69 87 76 student.test=99 56 96 87 67 69 87 76 student.test=99 56 96 87 67 69 87 76 92;92;92;92; student.name= student.name= student.name= student.name= Zhang San;Zhang San;Zhang San;Zhang San; student.weight=68; stud

37、ent.weight=68; student.weight=68; student.weight=68; student.height=1.72; student.height=1.72; student.height=1.72; student.height=1.72; student.num=2003214091; student.num=2003214091; student.num=2003214091; student.num=2003214091; student.school= student.school= student.school= student.school= Chi

38、na Agriculture China Agriculture China Agriculture China Agriculture University;University;University;University; student.tel=1381042679*; student.tel=1381042679*; student.tel=1381042679*; student.tel=1381042679*;信电学院计算机系信电学院计算机系 杨颖杨颖30使用使用struct函数生成结构型变量函数生成结构型变量var_name=struct(field1,val1,field2,v

39、al2,) train=struct(train=struct(train=struct(train=struct( destinationdestinationdestinationdestination , , , , 北京北京北京北京 , , , , NoNoNoNo ,2163,2163,2163,2163, TimeTimeTimeTime , , , , 18:4318:4318:4318:43 ) ) ) )train = train = train = train = destination: destination: destination: destination: 北京北

40、京北京北京 No: 2163 No: 2163 No: 2163 No: 2163 Time: Time: Time: Time: 18:4318:4318:4318:43 信电学院计算机系信电学院计算机系 杨颖杨颖31结构类型与单元数组转换结构类型与单元数组转换nc=struct2cell(s)ns=cell2struct(c) struct2cell(train)struct2cell(train)struct2cell(train)struct2cell(train)ans = ans = ans = ans = 北京北京北京北京 2163 2163 2163 2163 18:34 18

41、:34 18:34 18:34 信电学院计算机系信电学院计算机系 杨颖杨颖32在结构体变量中添加、调在结构体变量中添加、调用成员变量用成员变量 train(2).train(2).train(2).train(2).destination = destination = destination = destination = Shanghai;Shanghai;Shanghai;Shanghai; train(2).train(2).train(2).train(2).No = 4431;No = 4431;No = 4431;No = 4431; train(2).train(2).trai

42、n(2).train(2).Time = 8:20;Time = 8:20;Time = 8:20;Time = 8:20; train train train traintrain = train = train = train = 1x2 struct array with fields:1x2 struct array with fields:1x2 struct array with fields:1x2 struct array with fields: destination destination destination destination No No No No Time

43、Time Time Time train(1); train(1); train(1); train(1); train(2); train(2); train(2); train(2); train(1).Timetrain(1).Timetrain(1).Timetrain(1).Time信电学院计算机系信电学院计算机系 杨颖杨颖33在结构体变量中删除成员变量在结构体变量中删除成员变量n使用函数rmfieldS2= rmfield(S1,fieldname) 从结构体变量S1中删除成员变量,但会保持S1原有的结构形式。train = rmfield(train,Time)train = r

44、mfield(train,Time)train = rmfield(train,Time)train = rmfield(train,Time)train = train = train = train = 1x2 struct array with fields:1x2 struct array with fields:1x2 struct array with fields:1x2 struct array with fields: destination destination destination destination No No No No train(2) train(2) t

45、rain(2) train(2)ans = ans = ans = ans = destination: Shanghai destination: Shanghai destination: Shanghai destination: Shanghai No: 4431 No: 4431 No: 4431 No: 4431信电学院计算机系信电学院计算机系 杨颖杨颖34矩阵及其运算矩阵及其运算n矩阵的生成:矩阵的生成:直接输入直接输入123;456;789冒号、函数冒号、函数n矩阵元素的读取:矩阵元素的读取:(,)(,)矩阵的第行,列元素矩阵的第行,列元素(:,:)(:,:)(,:)(,:)矩

46、阵的第行元素矩阵的第行元素(:,)(:,)矩阵的第列元素矩阵的第列元素(:,c1c2c3c4)n矩阵运算:矩阵运算:矩阵与常数的四则运算矩阵与常数的四则运算矩阵之间的四则运算矩阵之间的四则运算左除左除:AB=A-1*B、右除、右除:A/B=A*B-1矩阵的乘幂运算矩阵的乘幂运算mpower(A,x)=Ax思考:如果是是数组呢?思考:如果是是数组呢?信电学院计算机系信电学院计算机系 杨颖杨颖35特殊矩阵特殊矩阵n零矩阵和全零矩阵和全1矩阵的生成矩阵的生成ones(n),ones(m,n)zeros(n),zeros(m,n)n单位矩阵单位矩阵eye(n),eye(m,n)主对角线全为主对角线全为

47、1,其他元素全为,其他元素全为0信电学院计算机系信电学院计算机系 杨颖杨颖36特殊矩阵特殊矩阵n对角矩阵的生成对角矩阵的生成(diag)A=diag(V,K)V为一个向量,为一个向量,K为向量偏离主对线的为向量偏离主对线的列数,列数,K=0时表示时表示V为主对角线,为主对角线,K0时时表示表示V在主对角线以上;在主对角线以上;K0时表示时表示V在在主对角线以下主对角线以下diag(V)=diag(V,0)PS:如果是如果是diag(B,K),B为矩阵为矩阵信电学院计算机系信电学院计算机系 杨颖杨颖37特殊矩阵特殊矩阵n随机矩阵的生成随机矩阵的生成rand(n),rand(m,n)0.0,0.1

48、之间均匀分布之间均匀分布randn(n),randn(m,n)正态分布正态分布N(0,1)n魔术矩阵的生成魔术矩阵的生成magic(n):方阵,每一行,每一列及对角线的元素之和相方阵,每一行,每一列及对角线的元素之和相同。同。信电学院计算机系信电学院计算机系 杨颖杨颖38特殊矩阵特殊矩阵npascal矩阵的生成矩阵的生成A=pascal(n):对称的正定阵,对称的正定阵,A(i,j)=A(i-1,j)+A(i,j-1)pascal三角形其实是由二项式系数组成三角形其实是由二项式系数组成信电学院计算机系信电学院计算机系 杨颖杨颖39特殊矩阵特殊矩阵n范德蒙德矩阵的生成范德蒙德矩阵的生成A=van

49、der(V)A(i,j)=V(i)n-jnHilbert矩阵矩阵A=hilb(N)A(i,j)=1/(i+j-1)n反反Hilbert矩阵矩阵A=invhilb(N)A(i,j)=1/(i+j-1)信电学院计算机系信电学院计算机系 杨颖杨颖40矩阵性质矩阵性质n矩阵转置:矩阵转置:An矩阵秩矩阵秩:rank(A)n矩阵迹矩阵迹:trace(A)n矩阵大小:矩阵大小:m,nsize(A)信电学院计算机系信电学院计算机系 杨颖杨颖41矩阵性质矩阵性质n满秩矩阵求逆:满秩矩阵求逆:inv(A)rref(A,eye(n)):减少行成梯最简形减少行成梯最简形式求逆矩阵式求逆矩阵n广义逆矩阵(伪逆矩阵):

50、广义逆矩阵(伪逆矩阵):piv(A)PAP=P,APA=A信电学院计算机系信电学院计算机系 杨颖杨颖42矩阵的结构操作矩阵的结构操作n矩阵的旋转和翻转矩阵的旋转和翻转fliplrflipudrot90n矩阵结构的改变矩阵结构的改变reshape(A,M,N)注意:注意:M*N=A中的元素个数中的元素个数信电学院计算机系信电学院计算机系 杨颖杨颖43矩阵的结构操作矩阵的结构操作n矩阵的扩充矩阵的扩充采用采用实现矩阵的扩充,注意保持行列的实现矩阵的扩充,注意保持行列的一致性一致性n矩阵的部分删除矩阵的部分删除A(3,:)=n矩阵的修改矩阵的修改A(3,:)=B(4,:)信电学院计算机系信电学院计算

51、机系 杨颖杨颖44矩阵分解矩阵分解n矩阵奇异值分解:矩阵奇异值分解:s=svd(A)u,s,v=svd(A)s为与为与A大小相同的对角矩阵,大小相同的对角矩阵,A的奇异值的奇异值在在s的主对角线上,的主对角线上,u,v为正交矩阵为正交矩阵A的奇异值为的奇异值为A*A的特征值的开方的特征值的开方信电学院计算机系信电学院计算机系 杨颖杨颖45矩阵分解矩阵分解n矩阵的矩阵的LU分解:分解:l,u=lu(A)u为上三角阵,为上三角阵,l为下三角阵为下三角阵,lu分解常用于分解常用于求行列式以及线性方程组。求行列式以及线性方程组。n矩阵的正交分解:矩阵的正交分解:q,r=qr(A)q为正交矩阵为正交矩阵

52、,r为上三角阵。为上三角阵。信电学院计算机系信电学院计算机系 杨颖杨颖46矩阵分解矩阵分解nCholesky分解分解T=chol(A)Cholesky分解主要用于分解分解主要用于分解正定矩阵正定矩阵,它将矩阵分解为一个上三角矩阵它将矩阵分解为一个上三角矩阵T和和T的的转置矩阵的乘积形式。转置矩阵的乘积形式。信电学院计算机系信电学院计算机系 杨颖杨颖47矩阵与线性代数矩阵与线性代数n求行列式值求行列式值det(A)n特征值和特征向量特征值和特征向量v,d=eig(A)d为特征值组成的对角阵,为特征值组成的对角阵,v为每个特征为每个特征值对应的特征向量。值对应的特征向量。信电学院计算机系信电学院计

53、算机系 杨颖杨颖48作业作业n1、用函数、用函数ones和和diag分别编写下分别编写下列矩阵。列矩阵。11111111111111133333113333311355531135553113575311357531135553113555311333331133333111111111111111n1、用函数、用函数ones和和diag分别编写下分别编写下列矩阵。列矩阵。n1、用函数、用函数ones和和diag分别编写下分别编写下列矩阵。列矩阵。456004560033456456 0 0234562345600234523450023400234456004560033456456 0 0

54、234562345600234523450023400234456004560033456456 0 0234562345600234523450023400234456004560033456456 0 0234562345600234523450023400234信电学院计算机系信电学院计算机系 杨颖杨颖49n2、生成、生成4阶随机矩阵阶随机矩阵X,分别对其,分别对其进行如下操作:进行如下操作:(1)lu分解分解(2)正交分解)正交分解(3)cholesky分解分解(4)奇异值分解)奇异值分解信电学院计算机系信电学院计算机系 杨颖杨颖50n3、用两种方法求解下列矩阵的逆、用两种方法求解下列矩阵的逆:n作业提交:作业提交:11111111123412341136103610141020141020信电学院计算机系信电学院计算机系 杨颖杨颖作业提交作业提交n发送邮件到:发送邮件到:n作业命名方式:作业命名方式:次数次数_姓名姓名_学号学号例如:例如:例如:例如: 第一次第一次第一次第一次_ _张三张三张三张三_2008xxx123_2008xxx12351

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

最新文档


当前位置:首页 > 高等教育 > 研究生课件

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