第二部分矩阵课件

上传人:我*** 文档编号:141157238 上传时间:2020-08-04 格式:PPT 页数:41 大小:374.50KB
返回 下载 相关 举报
第二部分矩阵课件_第1页
第1页 / 共41页
第二部分矩阵课件_第2页
第2页 / 共41页
第二部分矩阵课件_第3页
第3页 / 共41页
第二部分矩阵课件_第4页
第4页 / 共41页
第二部分矩阵课件_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《第二部分矩阵课件》由会员分享,可在线阅读,更多相关《第二部分矩阵课件(41页珍藏版)》请在金锄头文库上搜索。

1、第2章 Matlab及其应用,2.1 MATLAB的基本矩阵运算2.2 关系和逻辑运算2.3 矩阵操作 2.4 时间和日期函数 2.5 退出和保存工作空间 2.6 Matlab的变量及数据类型,2.1、MATLAB的基本矩阵运算,2.1.1 简单矩阵输入 1、命令行简单键盘输入 用于很少数据输入 NaN Inf 2、文件形式输入 文本文件:从文本文件中读入数据 mat文件:matlab自有的数据格式, B=1 2 3; 4 5 6 B = 1 2 3 4 5 6,2.1.2 语句生成矩阵,1、线性等间距格式矩阵 (1)X=起始值:增加值:结束值 (2)linspace命令 a=linspace

2、(1,10,5); (3)logspace命令 b=logspace(0,2,10) 2、矩阵连接 c=a b; 3、用函数生成矩阵:zeros ones eye randn,2.1.3 矩阵运算,1、矩阵的运算符 :加法 :減法 *:乘法;点乘:.* /:右除;右除:./ :左除;左除:. :乘方 2、矩阵的转置等运算 共轭转置; . 转置 inv:矩阵求逆 det:求行列式值 eig:求特征值与特征向量,运算规则:从左到右;先乘除后加减;乘方运算符最高 (1)两矩阵加减 A、维数相同时,进行加减运算时,对应的元素进行加减; B、矩阵与标量加减,用矩阵中的每个元素都与标量进行加减运算; (2

3、)两矩阵相乘 A、前提是前一矩阵的列等于后一矩阵的行,与数学约定一样; B、矩阵与标量相乘,用矩阵中的每个元素都与标量进行相乘; (3)矩阵中的元素对元素的相乘: .* (4)矩阵中的元素对元素的相除: ./ . (5)乘方运算 z=x.y x,y均为向量:z(i)=x(i) y(i) x为向量,y为标量:z(i)=x(i) y x为标量,y为向量:z(i)=xy(i),2.1.4 矩阵的超越函数,2.2 关系和逻辑运算,1、 关系操作符 (1)MATLAB常用的关系操作符有: (大于)、=(大于或等于)、 = =(等于)、 =(不等于)。 (2)MATLAB的关系操作符可以用来比较两个大小相

4、同的数组,或者比较一个数组和一个标量。在与标量比较时,结果和数组大小一样。 (3)如果满足指定的关系,返回1,否则返回0。 a=1:9; b=a4 b = 0 0 0 0 1 1 1 1 1 c=a(a4) c = 5 6 7 8 9,2 、逻辑操作符,(1)逻辑操作符定义了一种与或非的关系表达式。 MATLAB的逻辑操作符有 4 5 6; 7 8 9; B(2,: )= B= 1 2 3 7 8 9 2、为了提取矩阵a的第n行、第m列的元素值,使用a(n,m)可以得到。同样,将矩阵a的第n行、第m列的元素值赋为r,使用a(n,m)=r这样的命令。 注意:在提取矩阵值时,行或列的值大于矩阵的大

5、小,则出错;在给矩阵赋值时,如果行或者列超出矩阵的大小,则MATLAB自动扩充矩阵的规模,使得可以赋值,扩充部分以零填充。,3、利用矩阵下标,MATLAB还提供了子矩阵功能。同样是上面的a(n,m),如果n和m是向量,而不是标量,则将获得指定矩阵的子块. 4、矩阵的子块还可以被赋值。如果在取子块时,n或m是“:”,则返回指定的所有行或列。 5、矩阵的序号编址:按列计数。,2.3.2矩阵大小,1、在MATLAB命令行中,使用whos命令可以查看到所有变量的大小。 2、为了获得矩阵或者向量的大小,MATLAB还提供了两个有用的函数size和length。 (1)size调用: A、不用参量x时:

6、m,n=size(a)。当只有一个输出变量时,size返回一个行向量,第一个数为行数,第二个数为列数;如果有两个输出变量,第一个返回量为行数,第二个返回数为列数。 B、当使用x时,只能有一个输出变量: m=size(a,x) ,x=1返回行数,x=2返回列数,这时只有一个返回值。 (2)length返回行数或者列数的最大值,即length(a)=max(size(a)。,2.3.3 矩阵操作函数,MATLAB提供了一组执行矩阵操作的函数,例如: flipud(a)使得矩阵上下翻转, fliplr(a)使得矩阵左右翻转 rot90(a)使矩阵a逆时针旋转90度 rot90(a,k)使矩阵a逆时针

7、旋转k*90度 repmat(A,m,n)平铺矩阵,将矩阵A复制m*n块,2.3.4 矩阵查找和排序,1、子矩阵的查找使用find命令完成,它返回关系表达式为真的下标。例如: a=10:20; find(a15) ans = 7 8 9 10 11 2、矩阵的排序:sort函数,它将矩阵按照升序排列。,2.4 时间和日期 1、日历函数:calendar 2、时间函数:clock 3、查看CPU 时间:cputime 4、日期函数:date 5、秒表定时: tic toc,2.5退出和保存工作空间: 1 、 save:工作空间中的所有变量保存在磁盘上名为matlab.mat的文件中。 2 、 s

8、ave 文件名 变量名 将指定的变量保存在指定的文件中。 如:save temp x y z 把x y z这3个变量保存在文件temp.mat中。 3、下次加载MATLAB时,可以利用load命令将保存在文件中的变量恢复到工作空间中,其格式为: (1)load 将保存在matlab.mat中的变量装入到matlab空间中。 (2)load 文件名 变量名 从指定文件中将指定的变量装入到matlab的工作空间中。 如:load temp x 从文件temp.mat 中只将变量x装入到 matlab的工作空间中。,2.6 Matlab的变量及数据类型,变量区分字母的大小写 名字不能超过31(Mat

9、lab6.5版本为不超过65个)个字符 变量必须以字母开头,之后可以是任意字母、数字或者下划线 变量中不能含有标点符号,2.6.1 特殊变量,2.6.2 复数,不需要特殊的处理,可以直接进行。 复数可以表示为:a=10-9i 注意:虚部与虚数单位之间不能留空格 函数:complex z=complex(3,4) z=complex(3) z=complex(3,0),2.6.3 MATLAB数据类型: 数值类型、字符型、稀疏型、单元型、结构型、逻辑类型 最常使用的是数值类型和字符型;稀疏型用于稀疏矩阵;单元型和结构型用于编写大型软件;8位型(6.0以上版本:16位型、32位型)用于图象处理。

10、1、数值类型(double): 在缺省情况下,当结果为整数,作为整数显示;当结果为实数,以小数后4位的精度近似显示。 format short(默认) format long,不同的整型数据之间不能运算,例如:int8(22)*int16(5),2、字符型(char): a=sss;bbb a = sss bbb (1)字符数组的定义:字符数组就是字符串,字符串中的每一个字符在系统内部都相应地表示一个数值。 a=You are welcome! a = You are welcome! size(a) ans = 1 16,相关函数 A、函数disp用来显示字符串:disp(Hello) He

11、llo B、判断一个变量是否为字符型数组,可以用函数class或ischar。 x=class(a) y=ischar(a) x = char y = 1,(2)字符与数值的相互转换: double:将一个字符串转换为一个数值 char:将数值转换为字符串 s=Good morning! s1=double(s) s2=char(s1) s = Good morning! s1 = 71 111 111 100 32 109 111 114 110 105 110 103 33 s2 = Good morning!,(3)二维字符数组: 创建二维字符数组时,每行的长度要相等。如果字符串长度不等

12、,可以用空格充填较短的字符串。 例如: s=abc ;defg s = abc defg 用char函数创建二维字符数组比较方便。当字符串长度不等时,char函数可以自动地在较短的字符中加上一定数量的尾部空格,使其与最长字符串的长度相等。,例如: y=char(abc,defg,abcde) z1=length(y) z2=size(y) y = abc defg abcde z1 = 5 z2 = 3 5,(4)字符串的比较 A、strcmp:判别两个字符串是否相等 B、strncmp:判别两个字符串的前n个字符是否相等 s1=glisten;s2=glitter; a1=strcmp(s1

13、,s2) a2=strncmp(s1,s2,3) a1 = 0 a2 = 1,注:尾部的空格,s1=This is a good example strrep(s1,good,great) strrep(s1,bad,great) strrep(s1,great),A= aaa ;bbbbb B=strjust(A,center),(5)字符串的合并,3、稀疏型(sparse):含有大量0的矩阵,称为矩阵。 只存储矩阵中的非0元素 speye(4) 生成单位稀疏矩阵 ans = (1,1) 1 (2,2) 1 (3,3) 1 (4,4) 1 sprand 均匀分布随机数稀疏矩阵生成函数 spa

14、rse 把满矩阵转化为稀疏矩阵 调用格式:sparse(A) sparse(i,j,s,m,n) i和j为矢量,指矩阵中非0元素的行号和列号,s是一个全部 元素为非0的矢量,m和n分别为输出稀疏矩阵的行数和列数,i,j,s=find(s) m,n=size(s) S=sparse(i,j,s,m,n),4、单元型(cell):把不同类型的数据存储在一起的数组称为单元数组。单元数组中的每个元素是其他任意一种数据类型,通常可以将相关的尺寸大小不同的数据组合在一起。 a=1,good,1 2 3 a = 1 good 1x3 double (1)创建单元数组:cell c=cell(n):生成一个n

15、*n维的空数组 c=cell(m,n):生成一个m*n维的空数组 c=cell(size(A):生成一个和所包含的数组A阶数完全相同的空数组 EX1: A=eye(2) c=cell(size(A) A = 1 0 0 1,c = EX2:给单元数组赋值 D=cell(1,3) D1,1=Good; D1,2=1 2;4 5;D1,3=1+4i; D D = D = Good 2x2 double 1.0000+ 4.0000i EX3:利用直接输入的方法创建单元数组,单元数组的下标用圆括号括起来,右边是单元数组的内容,用花括号括起来。 Aa(1,1)=GOOD;Aa(1,2)=200;Aa(

16、2,1)=5-6i;Aa(3,2)=1 2;4 5 Aa = GOOD 200 5.0000- 6.0000i 2x2 double,(2)单元数组的显示 A、直接显示 Aa Aa = GOOD 200 5.0000- 6.0000i 2x2double B、利用函数显示 celldisp(Aa) celldisp(Aa,Bb),Aa1,1 = GOOD Aa2,1 = 5.0000 - 6.0000i Aa3,1 = Aa1,2 = 200 Aa2,2 = Aa3,2 = 1 2 4 5,Bb表示显示的名字,C、利用图形显示单元数组 cellplot(Aa) cellplot(Aa,legend),(3)单元数组

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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