matlab数组矩阵.ppt

上传人:小飞机 文档编号:6511948 上传时间:2023-11-08 格式:PPT 页数:30 大小:391KB
返回 下载 相关 举报
matlab数组矩阵.ppt_第1页
第1页 / 共30页
matlab数组矩阵.ppt_第2页
第2页 / 共30页
matlab数组矩阵.ppt_第3页
第3页 / 共30页
matlab数组矩阵.ppt_第4页
第4页 / 共30页
matlab数组矩阵.ppt_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《matlab数组矩阵.ppt》由会员分享,可在线阅读,更多相关《matlab数组矩阵.ppt(30页珍藏版)》请在三一办公上搜索。

1、2023/11/8,1,x=logspace(first,last,n),1、创建简单的数组,x=a b c d e f 创建包含指定元素的行向量,x=first:last,x=first:increment:last,x=linspace(first,last,n),一、数 组,2023/11/8,2,2023/11/8,3,2023/11/8,4,2023/11/8,5,2023/11/8,6,2、数组元素的访问,(3)直接使用元素编址序号.x(a b c d)表示提取数组x的第a、b、c、d个元素构成一个新的数组x(a)x(b)x(c)x(d).,(2)访问一块元素:x(a:b:c)表示

2、访问数组x的从第a个元素开始,以步长为b到第c个元素(但不超过c),b可以为负数,b缺损时为1.,(1)访问一个元素:x(i)表示访问数组x的第i个元素.,2023/11/8,7,3、数组的方向 前面例子中的数组都是一行数列,是行方向分布的.称之为行向量.数组也可以是列向量,它的数组操作和运算与行向量是一样的,唯一的区别是结果以列形式显示.,产生列向量有两种方法:直接产生 例 c=1;2;3;4 转置产生 例 b=1 2 3 4;c=b 说明:以空格或逗号分隔的元素指定的是不同列的元素,而以分号分隔的元素指定了不同行的元素.,2023/11/8,8,4、数组的运算,(1)标量-数组运算 数组对

3、标量的加、减、乘、除、乘方是数组的每个元素对该标量施加相应的加、减、乘、除、乘方运算.,(2)数组-数组运算 当两个数组有相同维数时,加、减、乘、除、幂运算可按元素对元素方式进行的,不同大小或维数的数组是不能进行运算的.,(3)运算符号加.+减.乘.*除./乘方开方.,2023/11/8,9,逗号或空格用于分隔某一行的元素,分号用于区分不同的行.除了分号,在输入矩阵时,按Enter键也表示开始一新行.输入矩阵时,严格要求所有行有相同的列.例 m=1 2 3 4;5 6 7 8;9 10 11 12 p=1 1 1 1 2 2 2 2 3 3 3 3,1、矩阵的建立,二、矩 阵,2023/11/

4、8,10,特殊矩阵的建立:.,d=eye(m,n)产生一个m行、n列的单位矩阵,c=ones(m,n)产生一个m行、n列的元素 全为1的矩阵,b=zeros(m,n)产生一个m行、n列的零矩阵,a=产生一个空矩阵,当对一项操作无结 果时,返回空矩阵,空矩阵的大小为零.,2023/11/8,11,2、矩阵中元素的操作,(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)以逆序提取矩阵A的第j1j2列,构成新矩阵

5、: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(:),2023/11/8,12,(2)矩阵-矩阵运算 1 元素对元素的运算,同数组-数组运算。,3、矩阵的运算,(1)标量-矩阵运算 同标量-数组运算。,2矩阵运算:矩阵加法:A+B矩阵乘法:A*B方阵的行列式:det(A)方阵的逆:inv(A)方阵的特征值与特征向量:V,D=eigA,2023/11/8,13,3.1语句生成矩阵,线性

6、等间距格式矩阵,使用from:step:tolinspace命令a=linspace(1,10,5);logspace命令b=logspace(0,2,10)矩阵连接c=a b;生产矩阵函数:zeros ones eye randn,2023/11/8,14,特殊矩阵的生成全零阵、全1阵、单位阵:zeros,eye,ones 随机矩阵:均匀分布:rand标准正态分布:randn线性等分向量:linspaceHilbert矩阵:hilb 魔方矩阵:magic,2023/11/8,15,3.2 矩阵运算,矩阵的转置用符号来表示和实现非共轭转置.矩阵的四则运算+-*/点乘:.*右除:./左除:.矩阵

7、的乘方矩阵乘方.元素对元素的乘方,2023/11/8,16,矩阵关系与逻辑运算,1、关系操作符,2023/11/8,17,a=1:9;b=a4b=0 0 0 0 1 1 1 1 1c=a(a4)c=5 6 7 8 9,1、关系操作符,2023/11/8,18,2、逻辑运算符,3、逻辑运函数,all:所有元素非零数,才是1any:只要有一个元素非零,就是1exist:查看变量或函数是否存在find:找出向量或矩阵中满足条件元素的位置标识isempty:确认矩阵是否为空矩阵isequal:判断二个对象是否相等,AndOrnot,2023/11/8,19,2 逻辑操作符,c=(a4)c=1 1 1

8、1 0 0 0 0 0c=(a4)&(a7)c=0 0 0 0 1 1 0 0 0,2023/11/8,20,2 逻辑操作函数,c=(a4)c=1 1 1 1 0 0 0 0 0 ay=any(c)ay=1al=all(c)al=0 al=all(a)al=1,2023/11/8,21,3.3 矩阵的超越函数,MATLAB中exp、sprt、sin、cos等命令可以直接使用在矩阵上,这种运算只是定义在矩阵的单个元素上,即分别对矩阵的每个元素进行运算。MATLAB中也提供了基本的三角函数。,2023/11/8,22,3.3 矩阵的超越函数,2023/11/8,23,四、矩阵操作,4.1 矩阵下标

9、MATLAB通过确认下标,可以对矩阵进行插入子块、提取子块和重排子块的操作。为了提取矩阵a的第n行、第m列的元素值,使用a(n,m)可以得到。同样,将矩阵a的第n行、第m列的元素值赋为r,使用a(n,m)=r这样的命令。需要注意的是,如果在提取矩阵值时,行或列的值大于矩阵的大小,则出错;而在矩阵赋值时,如果行或者列超出矩阵的大小,则MATLAB自动扩充矩阵的规模,使得可以赋值,扩充部分以零填充。,2023/11/8,24,4.1 矩阵下标,利用矩阵下标,MATLAB还提供了子矩阵功能。同样是上面的a(n,m),如果n和m是向量,而不是标量,则将获得指定矩阵的子块.同样,矩阵的子块还可以被赋值。

10、如果在取子块时,n或m是“:”,则返回指定的所有行或列。如果在矩阵子块赋值为空矩阵(用表示),则相当于消除相应的矩阵子块.矩阵的序号编址:按列计数。,2023/11/8,25,4.2矩阵大小,在MATLAB命令行中,使用whos命令可以察看到所有变量的大小。为了获得矩阵或者向量的大小,MATLAB还提供了两个有用的函数size和length。size按照下面的形式使用:m,n=size(a,x)。一般情况下输入参量x不用;当使用x时,x=1返回行数,x=2返回列数,这时只有一个返回值。length返回行数或者列数的最大值,即length(a)=max(size(a)。,2023/11/8,26

11、,4.3 矩阵操作函数,矩阵的变维 a=1:12;b=reshape(a,3,4)矩阵的变向 rot90:旋转;fliplr:左右翻;flipud:上下翻矩阵的抽取 diag:抽取主对角线;tril:抽取下三角;triu:抽取上三角,2023/11/8,27,4.4逻辑矩阵,逻辑矩阵是大小和对应矩阵相同,而元素为0或者1的矩阵。逻辑数组一般由关系算子创建。比如矩阵a中所有大于3的值,得到逻辑矩阵xX=a3使用逻辑矩阵也可以对矩阵的部分赋值。,2023/11/8,28,2023/11/8,29,4.5 矩阵查找和排序,子矩阵的查找使用find命令完成,它返回关系表达式为真的下标。例如:a=10:20;find(a15)ans=7 8 9 10 11,2023/11/8,30,4.5矩阵的查找和排序,矩阵的排序使用sort函数,它将矩阵按照升序排列。应用:去奇异点:a(find(astd(a)*3)嵌入数据:在指定大小的数据后加入数据替换:替换指定大小的数据段,

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号