MATLAB编程与工程应用-第2章矩阵及其运算.ppt

上传人:牧羊曲112 文档编号:6512101 上传时间:2023-11-08 格式:PPT 页数:32 大小:393.50KB
返回 下载 相关 举报
MATLAB编程与工程应用-第2章矩阵及其运算.ppt_第1页
第1页 / 共32页
MATLAB编程与工程应用-第2章矩阵及其运算.ppt_第2页
第2页 / 共32页
MATLAB编程与工程应用-第2章矩阵及其运算.ppt_第3页
第3页 / 共32页
MATLAB编程与工程应用-第2章矩阵及其运算.ppt_第4页
第4页 / 共32页
MATLAB编程与工程应用-第2章矩阵及其运算.ppt_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《MATLAB编程与工程应用-第2章矩阵及其运算.ppt》由会员分享,可在线阅读,更多相关《MATLAB编程与工程应用-第2章矩阵及其运算.ppt(32页珍藏版)》请在三一办公上搜索。

1、MATLAB编程与工程应用,第2章 矩阵及其运算,MATLAB编程与工程应用,教 师:曾晓东电 话:E_mail:QQ:241747139,第2章 矩阵及其运算,第2章 矩阵及其运算,2.1 矩阵的实现2.2 矩阵的运算2.3 矩阵分析2.4 字符串2.5 向量与多项式,第2章 矩阵及其运算,2.1 矩阵的实现,矩阵赋值的方法一、直接输入二、通过语句和函数产生三、建立在文件中四、从外部的数据文件中装入,第2章 矩阵及其运算,2.1 矩阵的实现,一、直接输入a=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,y

2、=2,4,53 6 8y=2 4 5 3 6 8,矩阵生成不但可以使用纯数字(含复数),也可以使用变量(或者说采用一个表达式)。矩阵的元素直接排列在方括号内,行与行之间用分号隔开,每行内的元素使用空格或逗号隔开。大的矩阵可以用分行输入,回车键代表分号。,第2章 矩阵及其运算,2.1 矩阵的实现,获取矩阵的大小Size函数n,m=size(A)N为A的行数,m为A的列数Length函数N=length(x)N为向量x中元素的个数若x为矩阵,则n为该矩阵的行数和列数中的较大者,即Length(A)=max(size(A),第2章 矩阵及其运算,2.1 矩阵的实现,二、矩阵的元素矩阵的元素可以是实数

3、,也可是复数B=-1/3 1.3 sqrt(3)1+2*iB=-0.3333 1.3000 1.7321 1+2.0000iC=A;10,11,12C=1 2 34 5 67 8 910 11 12,C=A,10;11;12C=1 2 3 104 5 6 117 8 9 12 A(2,3)=100A=1 2 34 5 1007 8 9,第2章 矩阵及其运算,2.1 矩阵的实现,序列s1:s2:s3S1:起始值S2:步长,无则默认为1S3:终值y=1:2:10y=1 3 5 7 9y=2:3:10y=2 5 7 10y=1:5y=1 2 3 4 5,矩阵元素的部分引用A(1:3,1:2:5)取A

4、矩阵的第1行到第3行内,且位于1,3,5列上的所有元素子矩阵,A(1:3,:)A第1行到第3行的元素,A(:,j)取A第j列的所有元素,A(:)将A的所有元素按列主序存入一个向量。,第2章 矩阵及其运算,2.1 矩阵的实现,三、特殊矩阵的实现1.单位矩阵函数eye(n),eye(size(B),eye(n,m),2.零矩阵函数zeros(n),zeros(size(B),zeros(n,m),3.全1矩阵函数ones(n),ones(size(B),ones(n,m),4.随机元素矩阵rand(n),rand(size(B),rand(n,m),第2章 矩阵及其运算,2.1 矩阵的实现,5.对

5、角矩阵diag(V),6.伴随矩阵compan(P)多项式p(s)=sn+a1sn-1+a2sn-2+an-1s+an的伴随矩阵为,7.上三角矩阵triu(A)和下三角矩阵tril(B),第2章 矩阵及其运算,2.1 矩阵的实现,8.linspace和logspacea=linspace(n1,n2,n)在线性空间上,行矢量的值从n1到n2,数据个数为n,缺省n为100。a=linspace(1,10,10)a=1 2 3 4 5 6 7 8 9 10a=logspace(n1,n2,n)在对数空间上,行矢量的值从10n1到10n2,数据个数为n,缺省n为50。这个指令为建立对数频域轴坐标提供

6、了方便。a=logspace(1,3,3)a=10 100 1000,第2章 矩阵及其运算,2.1 矩阵的实现,9.reshape函数用于建立数值矩阵。Av=1:12%产生12个元素的行向量avBm=reshape(av,3,4)%利用向量Av创建(3x4)矩阵Bm结果:Av=1 2 3 4 5 6 7 8 9 10 11 12Bm=1 4 7 102 5 8 113 6 9 12,第2章 矩阵及其运算,2.2 矩阵的运算,一、矩阵的转置运算符:及.对于实矩阵用()符号或(.)求转置结果是一样的;对于含复数的矩阵,()将同时对复数进行共轭处理,(.)则只是将其排列形式进行转置。,a=1 2 3

7、;4 5 6a=1 4 2 5 3 6,b=1+2i 2-7ib=1.0000-2.0000i 2.0000+7.0000i,c=1+2i 2-7i.c=1.0000+2.0000i 2.0000-7.0000i,第2章 矩阵及其运算,2.2 矩阵的运算,二、矩阵的四则运算和乘方+;-;*;和/;.*;.;./;.只有维数相同的矩阵才能进行加减运算。注意只有当两个矩阵中前一个矩阵的列数和后一个矩阵的行数相同时,才可以进行乘法运算。ab运算等效于求a*x=b的解;而a/b等效于求x*b=a的解。只有方阵才可以求幂。点运算是两个维数相同矩阵对应元素之间的运算,在有的教材中也定义为数组运算。例exp

8、2_1.m,第2章 矩阵及其运算,2.2 矩阵的运算,三、矩阵的翻转1.矩阵的左右翻转fliplr(A),2.矩阵的上下翻转flipud(A),3.矩阵逆时针900旋转 rot90(A),第2章 矩阵及其运算,2.2 矩阵的运算,四、矩阵的超越函数(例exp2_2.m)在MATLAB中exp、sqrt等命令也可以作用到矩阵上,但这种运算是定义在矩阵的单个元素上的,即分别对矩阵的每一个元素进行计算。超越数学函数可以在函数后加上m而成为矩阵的超越函数,例如:expm,sqrtm。矩阵的超越函数要求运算矩阵为方阵。五、逆矩阵与行列式计算求逆:inv(A);求行列式:det(A)要求矩阵必须为方阵,第

9、2章 矩阵及其运算,2.2 矩阵的运算,六、关系和逻辑运算MATLAB的运算符有三种类型:算术运算符、关系运算符、逻辑运算符。它们的处理顺序依次为算术运算符、关系运算符、逻辑运算符。1.关系运算符(例exp2_3.m)大于=大于等于=等于=不等于问:如何判断两个矩阵相等?,第2章 矩阵及其运算,2.2 矩阵的运算,2.逻辑运算符注意:在处理逻辑运算时,运算元只有两个值即0和1,所以如果指定的数为0,MATLAB认为其为0,而任何数不等于0,则认为是1。设有:A=5-4 0-0.5 B=0 1 0 9&与 A&B=0 1 0 1A&1=1 1 0 1|或 A|B=1 1 0 1A|1=1 1 1

10、 1 非 A=0 0 1 01=0,第2章 矩阵及其运算,2.2 矩阵的运算,3.关系与逻辑运算函数xor(x,y)异或any(x)向量x中任一元素非0,则返回1all(x)向量x中所有元素非0,则返回1isnan(x)当x是NaN时,返回1isinf(x)当x是Inf时,返回1对矩阵,any和all命令按列进行处理,返回带有处理列所得结果的一个行向量,第2章 矩阵及其运算,2.2 矩阵的运算,4.应用上面的功能易于产生数组来表示不连续的信号,或有多段其他信号所组成的信号。基本想法是,把数组中要保持的那些信号与1相乘,所有其他值与0相乘。x=linspace(0,10,100);%产生数据y=

11、sin(x);%计算正弦z=(y=0).*y;%以零替换sin(x)中为负的元素z=z+0.5*(y0);%在sin(x)为负的元素处加1/2z=(x=8).*z;%将x大于8的元素处置零plot(x,z)例exp2_4.m,第2章 矩阵及其运算,七、矩阵函数,第2章 矩阵及其运算,2.3 矩阵分析,一、对角阵与三角阵1对角阵只有对角线上有非0元素的矩阵称为对角矩阵对角线上的元素相等的对角矩阵称为数量矩阵对角线上的元素都为1的对角矩阵称为单位矩阵(1)提取矩阵的对角线元素diag(A)设A为mn矩阵,diag(A)函数用于提取矩阵A主对角线元素,产生一个具有min(m,n)个元素的列向量。di

12、ag(A)函数还有一种形式diag(A,k),其功能是提取第k条对角线的元素。,第2章 矩阵及其运算,2.3 矩阵分析,(2)构造对角矩阵 diag(V)设V为具有m个元素的向量,diag(V)将产生一个mm对角矩阵,其主对角线元素即为向量V的元素。diag(V)函数也有另一种形式diag(V,k),其功能是产生一个nn(n=m+)对角阵,其第k条对角线的元素即为向量V的元素。例 先建立55矩阵A,然后将A的第一行元素乘以1,第二行乘以2,第五行乘以5。(exp2_5.m),第2章 矩阵及其运算,2.3 矩阵分析,2.三角阵三角阵又进一步分为上三角阵和下三角阵,所谓上三角阵,即矩阵的对角线以下

13、的元素全为0的一种矩阵,而下三角阵则是对角线以上的元素全为0的一种矩阵。(1)上三角矩阵 triu(A)triu(A)函数也有另一种形式triu(A,k),其功能是求矩阵A的第k条对角线以上的元素。例如,提取矩阵A的第2条对角线以上的元素,形成新的矩阵B。(2)下三角矩阵 tril(A)其用法与提取上三角矩阵的函数triu(A)和triu(A,k)完全相同。,第2章 矩阵及其运算,2.3 矩阵分析,二、矩阵的逆与伪逆1矩阵的逆inv(A)2矩阵的伪逆pinv(A)如果矩阵A不是一个方阵,或者A是一个非满秩的方阵时,矩阵A没有逆矩阵,但可以找到一个与A的转置矩阵A同型的矩阵B,使得:ABA=AB

14、AB=B此时称矩阵B为矩阵A的伪逆,也称为广义逆矩阵。,第2章 矩阵及其运算,2.3 矩阵分析,三、方阵的行列式det(A)四、矩阵的秩与迹1矩阵的秩rank(A)矩阵线性无关的行数与列数称为矩阵的秩。2矩阵的迹trace(A)矩阵的迹等于矩阵的对角线元素之和,也等于矩阵的特征值之和。,第2章 矩阵及其运算,2.3 矩阵分析,五、矩阵的特征值与特征向量 eig(A)常用的调用格式:1.E=eig(A):求矩阵A的全部特征值,构成向量E。2.V,D=eig(A):求矩阵A的全部特征值,构成对角阵D,并求A的特征向量构成V的列向量。3.V,D=eig(A,nobalance):与第2种格式类似,但

15、第2种格式中先对A作相似变换后求矩阵A的特征值和特征向量,而格式3直接求矩阵A的特征值和特征向量。例:用求特征值的方法解方程。(exp2_6.m)3x5-7x4+5x2+2x-18=0,第2章 矩阵及其运算,2.4 字符串,在MATLAB中,字符串是用单撇号括起来的字符序列。MATLAB将字符串当作一个行向量,每个元素对应一个字符,其标识方法和数值向量相同。也可以建立多行字符串矩阵。字符串是以ASCII码形式存储的。abs和double函数都可以用来获取字符串矩阵所对应的ASCII码数值矩阵。相反,char函数可以把ASCII码矩阵转换为字符串矩阵。,第2章 矩阵及其运算,2.4 字符串,例

16、建立一个字符串向量,然后对该向量做如下处理:(1)取第15个字符组成的子字符串。(2)将字符串倒过来重新排列。(3)将字符串中的小写字母变成相应的大写字母,其余字符不变。(4)统计字符串中小写字母的个数。(exp2_7.m),第2章 矩阵及其运算,2.4 字符串,与字符串有关的另一个重要函数是eval,其调用格式为:eval(t)其中t为字符串。它的作用是把字符串的内容作为对应的MATLAB语句来执行。例:eval(a=1 2;)A=1 2;功能相同,第2章 矩阵及其运算,2.5 向量与多项式,一、向量运算MATLAB的向量运算与矩阵运算实际上有不同的运算规则MATLAB的向量运算符为+,-,

17、.*,./,.参见矩阵的运算,第2章 矩阵及其运算,2.5 向量与多项式,二、多项式运算1、多项式的建立与表示方法 在MATLAB中,多项式使用降幂系数的行向量表示,如:多项式,表示为:p=1-12 0 25 118roots(p):求多项式的根,根用列向量表示。poly(r):求出根为r的多项式。,第2章 矩阵及其运算,2.5 向量与多项式,2、多项式运算相乘conva=1 2 3;b=1 2 c=conv(a,b)=1 4 7 6conv指令可以嵌套使用,如conv(conv(a,b),c)相除deconvq,r=deconv(c,b)q=1 2 3 商多项式r=0 0 0 余多项式求多项式的微分多项式polyderpolyder(a)=2 2求多项式函数值polyval(p,n):将值n代入多项式求解。polyval(a,2)=11,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号