《矩形和数组运算.ppt》由会员分享,可在线阅读,更多相关《矩形和数组运算.ppt(36页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、矩形和数组运算现在学习的是第1页,共36页 本讲主要内容创建矩阵矩阵元素的标识基本矩阵函数与运算数组函数和数组运算数据的输出现在学习的是第2页,共36页一、命令行的基本操作1.创建矩阵的方法创建矩阵的方法直接输入法规则:矩阵元素必须用 括住 矩阵元素必须用逗号或空格分隔 在 内矩阵的行与行之间必须用分号分隔现在学习的是第3页,共36页 矩阵元素可以是任何matlab表达式,可以是实数,也可以是复数。表达式中不可包含未知的变量,复数可用特殊函数i,j 输入。当矩阵中没有元素时,该矩阵称为“空阵”。例如 a=1 2 3;4 5 6;7,8,9 x=2 pi/2;sqrt(3)3+5i y=注意:变
2、量区分大小写现在学习的是第4页,共36页符号的作用逗号和分号的作用 逗号和分号可作为指令间的分隔符,matlab允许多条语句在同一行出现。分号如果出现在指令后,屏幕上将不显示结果。现在学习的是第5页,共36页注意:只要是赋过值的变量,不管是否在屏幕上显示过,都存储在工作空间中,以后可随时显示或调用。变量名尽可能不要重复,否则会覆盖。当一个指令或矩阵太长时,可用续行现在学习的是第6页,共36页冒号的作用 用于生成等间隔的向量,默认间隔为1。用于选出矩阵指定行、列及元素。循环语句现在学习的是第7页,共36页2.用matlab函数创建矩阵空阵 matlab允许输入空阵,当一项操作无结果时,返回空阵。
3、rand 随机矩阵eye 单位矩阵zeros 全部元素都为0的矩阵ones 全部元素都为1的矩阵现在学习的是第8页,共36页例如A=zeros(n)生成nn零矩阵A=zeros(m,n)生成mn零矩阵A=zeros(m,n,p,)生成mnp零矩阵A=zeros(size(A)生成和矩阵A大小相等的零矩阵rand,ones,eye和 zeros的用法相同(注意:多维数组没有定义单位矩阵)现在学习的是第9页,共36页技巧:技巧:在matlab中,不需要事先定义矩阵的维数,matlab自动为矩阵分配存储空间,但如果在程序运行过程中采用零矩阵为矩阵生成全部元素,或某一行、某一列的元素预先分配空间,将回
4、大大加快运算速度。现在学习的是第10页,共36页 还有伴随矩阵、稀疏矩阵、魔方矩阵、对角矩阵、范德蒙等矩阵的创建,就不一一介绍了。注意:matlab严格区分大小写字母,因此a与A是两个不同的变量。matlab函数名必须小写。现在学习的是第11页,共36页3.矩阵的修改 直接修改 可用键找到所要修改的矩阵,用键移动到要修改的矩阵元素上即可修改。指令修改 可以用A(,)=来修改。现在学习的是第12页,共36页例如例如a=1 2 0;3 0 5;7 8 9a=1 2 0 3 0 5 7 8 9a(3,3)=0a=1 2 0 3 0 5 7 8 0现在学习的是第13页,共36页4.从外部数据文件调入矩
5、阵调入方法:调入方法:load filename.dat 或filename.txt%将数据文件filename的数据内容调入工作空间filename%显示以filename命名的矩阵内容技巧:技巧:用此法创建的矩阵大小没有任何限制,用户即可将其他程序生成的数据文件直接调入matlab中使用。注意:注意:在文本文件中的数据在调入之前要预先排列成矩阵的形式。现在学习的是第14页,共36页把matlab工作空间中一些有用的数据长久保存下来的方法是生成mat数据文件。save 将工作空间中所有的变量存到matlab.mat文件中。二、数据的保存与获取默认文件名现在学习的是第15页,共36页save
6、data将工作空间中所有的变量存到data.mat文件中。save data a b 将工作空间中a和b变量存到data.mat文件中。下次运行matlab时即可用load指令调用已生成的mat文件。现在学习的是第16页,共36页load load data load data a b 即可恢复保存过的所有变量 mat文件是标准的二进制文件,还可以ASCII码形式保存。例:save data.dat a b ascii 将工作空间中a和b变量存到data.dat 纯文本文件中。现在学习的是第17页,共36页 矩阵是matlab的基本运算单元,向量和标量作为特殊的矩阵处理,子矩阵可通过向量、标量
7、的表识来引用和赋值。向量的生成利用冒号生成 x=i:j 生成向量 x=i,i+1,i+2,j x=i:k:j 生成向量 x=i,i+k,i+2k,j 三、矩阵元素的标识现在学习的是第18页,共36页例如A=1:6;%A=1 2 3 4 5 6B=2:2:10;%B=2 4 6 8 10C=8:-1:2;%C=8 7 6 5 4 3 2C1=8:2:4%C1=Empty Matrix:1-by-0利用 linspace 生成 x=linspace(a,b)生成有100个元素的行向量x,其元素在a、b之间等线性分布 x=linspace(a,b,n)生成有n个元素的行向量x,其元素在a、b之间等线
8、性分布现在学习的是第19页,共36页 矩阵的标识矩阵的标识一般形式A(u,v)说明:u,v可以是任意排列的向量,其中任何一个可以是冒号,它表示全部行或全部列。例如 A=magic(4)%产生4维的魔方阵 A1=A(1:2,1,2,4)A2=A(4,1,:)A(1,3,2,4)=zeros(2)现在学习的是第20页,共36页4.矩阵中元素的操作矩阵中元素的操作(1)矩阵A的第r行:A(r,:)(2)矩阵A的第r列:A(:,r)(4)取矩阵A的第i1i2行、第j1j2列构成新矩阵:A(i1:i2,j1:j2)(5)以逆序提取矩阵A的第i1i2行,构成新矩阵:A(i2:-1:i1,:)(6)以逆序提
9、取矩阵A的第j1j2列,构成新矩阵:A(:,j2:-1:j1)(7)删除A的第i1i2行,构成新矩阵:A(i1:i2,:)=(8)删除A的第j1j2列,构成新矩阵:A(:,j1:j2)=(9)将矩阵A和B拼接成新矩阵:A B;A;B(3)依次提取矩阵A的每一列,将A拉伸为一个列向量:A(:)现在学习的是第21页,共36页1.矩阵加、减(,)运算规则:相加、减的两矩阵必须有相同的行和列两矩阵对应元素相加减。允许参与运算的两矩阵之一是标量。标量与矩阵的所有元素分别进行加减操作。四、矩阵运算现在学习的是第22页,共36页2.矩阵乘()运算规则:A矩阵的列数必须等于B矩阵的行数标量可与任何矩阵相乘。a
10、=1 2 3;4 5 6;7 8 0;b=1;2;3;c=a*bc=14 32 23 现在学习的是第23页,共36页d=-1;0;2;f=pi*df=-3.1416 0 6.2832 矩阵除的运算在线性代数中没有,有矩阵逆的运算,在matlab中有两种矩阵除运算,即左除和右除。现在学习的是第24页,共36页 a p a 自乘p次幂 方阵方阵1的整数的整数3.矩阵乘方 an,ap,pa对于p的其它值,计算将涉及特征值和特征向量,如果p是矩阵,a是标量ap使用特征值和特征向量自乘到p次幂;如a,p都是矩阵,ap则无意义。现在学习的是第25页,共36页 a=1,2,3;4,5,6;7,8,9;a2
11、ans=30 36 42 66 81 96 102 126 150当一个方阵有复数特征值或负实特征值时,非整数幂是复数阵。现在学习的是第26页,共36页 a0.5 ans=0.4498+0.7623i 0.5526+0.2068i 0.6555-0.3487i 1.0185+0.0842i 1.2515+0.0228i 1.4844-0.0385i 1.5873-0.5940i 1.9503-0.1611i 2.3134+0.2717i现在学习的是第27页,共36页inv 矩阵求逆det 行列式的值eig 矩阵的特征值diag 对角矩阵 矩阵转置sqrt 矩阵开方4.矩阵的其它运算 现在学习的
12、是第28页,共36页cond(A)矩阵A的条件数dot(A,B)矩阵A和B的点积norm(A)矩阵A的范数rank(A)矩阵A的秩 svd(A)矩阵A的奇异值分解sqrtm(A)矩阵A的平方根logm(A)矩阵A的对数expm(A)矩阵A的指数eA5.基本的矩阵函数 现在学习的是第29页,共36页6.矩阵的一些特殊操作矩阵的变维 a=1:12;b=reshape(a,3,4)c=zeros(3,4);c(:)=a(:)矩阵的变向 rot90:旋转;fliplr:上翻;flipud:下翻矩阵的抽取 diag:抽取主对角线;tril:抽取主下三角;triu:抽取主上三角矩阵的扩展现在学习的是第30
13、页,共36页关系运算 关系符号意义=小于小于或等于大于大于或等于等于不等于现在学习的是第31页,共36页 数组运算指元素对元素的算术运算,与通常意义上的由符号表示的线性代数矩阵运算不同1.数组加减(.+,.-)a.+b a.-b7.矩阵的数组运算 对应元素相加减(与矩阵加对应元素相加减(与矩阵加减等效)减等效)现在学习的是第32页,共36页2.数组乘除(,./,.)ab a,b两数组必须有相同的行 和列两数组相应元素相乘。a=1 2 3;4 5 6;7 8 9;b=2 4 6;1 3 5;7 9 10;a.*bans=2 8 18 4 15 30 49 72 90 现在学习的是第33页,共36
14、页a=1 2 3;4 5 6;7 8 9;b=2 4 6;1 3 5;7 9 10;a*bans=25 37 46 55 85 109 85 133 172 现在学习的是第34页,共36页a./b=b.aa.b=b./a 给出a,b对应元素间的商.a./b=b.a 都是a的元素被b的对应元 素除a.b=b./a 都是a的元素被b的对应元 素除例:a=1 2 3;b=4 5 6;c1=a.b;c2=b./ac1=4.0000 2.5000 2.0000c2=4.0000 2.5000 2.0000现在学习的是第35页,共36页3.数组乘方(.)元素对元素的幂例:a=1 2 3;b=4 5 6;z=a.2z=1.00 4.00 9.00z=a.bz=1.00 32.00 729.00现在学习的是第36页,共36页