Matlab数组及其运算.ppt

上传人:wuy****n92 文档编号:80482510 上传时间:2023-03-23 格式:PPT 页数:39 大小:416KB
返回 下载 相关 举报
Matlab数组及其运算.ppt_第1页
第1页 / 共39页
Matlab数组及其运算.ppt_第2页
第2页 / 共39页
点击查看更多>>
资源描述

《Matlab数组及其运算.ppt》由会员分享,可在线阅读,更多相关《Matlab数组及其运算.ppt(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、1计计计计计计 算算算算算算 机机机机机机 仿仿仿仿仿仿 真真真真真真 计计 算算 机机 仿仿 真真第二章第二章MatLab 数组及其运算数组及其运算李益兵李益兵计计计计计计 算算算算算算 机机机机机机 仿仿仿仿仿仿 真真真真真真 2 数值数组(数值数组(Numeral Array)和数组运算()和数组运算(Array Operations)是)是MatLab的核心内容。的核心内容。MatLab是以复数矩阵作为基本的运算单元,向量和是以复数矩阵作为基本的运算单元,向量和标量都作为特殊的矩阵来处理:向量当作只有一行或一列标量都作为特殊的矩阵来处理:向量当作只有一行或一列矩阵,标量则为只有一个元素

2、的矩阵。矩阵,标量则为只有一个元素的矩阵。矩阵只是数组的一种特例,它是二维的数值型数组,矩阵只是数组的一种特例,它是二维的数值型数组,表示了一种线性变换关系。表示了一种线性变换关系。计计计计计计 算算算算算算 机机机机机机 仿仿仿仿仿仿 真真真真真真 3矩阵矩阵数值数组的特例数值数组的特例矩阵的概念矩阵的概念使计算程序简单、易读,使程序命令更接近于教科书上使计算程序简单、易读,使程序命令更接近于教科书上的数学计算公式;的数学计算公式;MATLAB精心设计数组和数组运算的目的精心设计数组和数组运算的目的提高程序的向量化程度,提高计算效率,节省计算机资提高程序的向量化程度,提高计算效率,节省计算机

3、资源。源。从外观和数据结构上看,二维数组和数学中的矩阵没从外观和数据结构上看,二维数组和数学中的矩阵没有区别。但是,矩阵作为一种变换或影射算子的体现,矩有区别。但是,矩阵作为一种变换或影射算子的体现,矩阵运算有着明确而严格的数学规则。阵运算有着明确而严格的数学规则。数组运算数组运算矩阵运算矩阵运算按照线性代数的运算规则进行按照线性代数的运算规则进行对数组中的每个元素进行同样的运算对数组中的每个元素进行同样的运算计计计计计计 算算算算算算 机机机机机机 仿仿仿仿仿仿 真真真真真真 4第二章第二章 MATLABMATLAB数组及其运算数组及其运算2.1 MATLAB的数据类型的数据类型2.2 数值

4、数组的生成和寻访数值数组的生成和寻访2.3 数组运算和矩阵运算数组运算和矩阵运算2.4 非数和空数组非数和空数组2.5 数组的关系运算和逻辑运算数组的关系运算和逻辑运算2.6 字符串数组字符串数组2.7 元胞数组元胞数组2.8 构架数组构架数组计计计计计计 算算算算算算 机机机机机机 仿仿仿仿仿仿 真真真真真真 52.1 MATLAB的数据类型的数据类型数据类型数据类型Data Types数值数值字符串字符串元胞元胞结构体结构体函数句柄函数句柄Java类类numericcharcellstructurefunctionhandleJava class双精度双精度单精度单精度整数类整数类稀疏稀疏

5、doublesingleintsparseMATLAB的数据都是以的数据都是以“数组数组”的形式出现的的形式出现的数据结构数据结构数据运算数据运算计计计计计计 算算算算算算 机机机机机机 仿仿仿仿仿仿 真真真真真真 62.2 数值数组的生成和寻访数值数组的生成和寻访数组的生成数组的生成逐个元素输入法逐个元素输入法 对对于于较较小小的的简简单单的的数数组组,从从键键盘盘上上直直接接输输入入,需需要要遵遵循循以以下几个原则:下几个原则:数组(矩阵)中每一行的元素必须用空格或逗号分开数组(矩阵)中每一行的元素必须用空格或逗号分开 在数组(矩阵)中,用分号或回车行表明每一行的结束在数组(矩阵)中,用分

6、号或回车行表明每一行的结束 整个输入数组(矩阵)必须包含在方括号中整个输入数组(矩阵)必须包含在方括号中计计计计计计 算算算算算算 机机机机机机 仿仿仿仿仿仿 真真真真真真 72.2 数值数组的生成和寻访数值数组的生成和寻访数组的生成数组的生成冒号生成法冒号生成法x=first:last创建从创建从first开始,加开始,加1计数,到计数,到last结束的行向量结束的行向量xx=first:increment:last创建从创建从first开始,加增量计数,到开始,加增量计数,到last结束的行向量结束的行向量x。Increment可以是负数,或省略则默认为可以是负数,或省略则默认为1。若若i

7、nc0但是但是first大于大于last,或者,或者inc0但是但是last大于大于first,则,则X是空向量。是空向量。例例2-1计计计计计计 算算算算算算 机机机机机机 仿仿仿仿仿仿 真真真真真真 82.2 数值数组的生成和寻访数值数组的生成和寻访数组的生成数组的生成定数线性采样法定数线性采样法x=linspace(first,last,n)在设定总点数的情况下,均匀采样生成一维行数组。在设定总点数的情况下,均匀采样生成一维行数组。创建从创建从first开始,到开始,到last结束,有结束,有n个元素的行向量个元素的行向量x。n省略默认为省略默认为100。例例2-2计计计计计计 算算算算

8、算算 机机机机机机 仿仿仿仿仿仿 真真真真真真 92.2 数值数组的生成和寻访数值数组的生成和寻访数组的生成数组的生成利用利用M文件文件例例2-3对于经常需要调用的且比较大的数组,可专门为该数组对于经常需要调用的且比较大的数组,可专门为该数组创建一个创建一个M文件。文件。计计计计计计 算算算算算算 机机机机机机 仿仿仿仿仿仿 真真真真真真 10简单数组创建简单数组创建命命命命 令令令令功功功功 能能能能x=2+i squrt(2)2*pix=2+i squrt(2)2*pi创建包含指定元素的行向量创建包含指定元素的行向量创建包含指定元素的行向量创建包含指定元素的行向量x xx=first:la

9、stx=first:last创建从创建从创建从创建从firstfirst开始,加开始,加开始,加开始,加1 1计数,到计数,到计数,到计数,到lastlast结束的行向量结束的行向量结束的行向量结束的行向量x xx=first:increment:lastx=first:increment:last创建从创建从创建从创建从firstfirst开始,加增量计数,开始,加增量计数,开始,加增量计数,开始,加增量计数,到到到到lastlast结束的行向量结束的行向量结束的行向量结束的行向量x xx=linspace(first,last,n)x=linspace(first,last,n)(线性分隔

10、)(线性分隔)(线性分隔)(线性分隔)创建从创建从创建从创建从firstfirst开始,到开始,到开始,到开始,到lastlast结束,有结束,有结束,有结束,有n n个元素的行向量个元素的行向量个元素的行向量个元素的行向量x xx=logspace(first,last,n)x=logspace(first,last,n)(对数分隔)(对数分隔)(对数分隔)(对数分隔)创建从创建从创建从创建从 开始,到开始,到开始,到开始,到 结束,结束,结束,结束,有有有有n n个元素的行向量个元素的行向量个元素的行向量个元素的行向量x x计计计计计计 算算算算算算 机机机机机机 仿仿仿仿仿仿 真真真真真

11、真 112.2.1 常用数组生成常用数组生成例例2-4diag 产生对角线数组(二维以下)产生对角线数组(二维以下)eye 产生单位数组(二维以下)产生单位数组(二维以下)magic 产生魔方数组(二维以下)产生魔方数组(二维以下)每行每列之和相等每行每列之和相等 ones 产生全产生全1数组数组 rand 产生产生0、1间均匀分布的随机数组间均匀分布的随机数组randn 产生产生1、1间正态分布随机数组间正态分布随机数组zeros 产生全产生全0数组数组diag(3,3,3)eye(3);eye(3,4);eye(4,3);eye(3,3)ones(2);ones(3,4)magic(3)r

12、and(3);rand(3,4)randn(3);randn(2,3)zeros(3,2);zeros(3)计计计计计计 算算算算算算 机机机机机机 仿仿仿仿仿仿 真真真真真真 122.2.2 数值数组的寻访数值数组的寻访一维数组的寻访一维数组的寻访二维数组的寻访二维数组的寻访格式:格式:X(index)Index可以是单个正整数或正整数数组可以是单个正整数或正整数数组例例2-5格式:格式:A(:,j)表示表示a矩阵第矩阵第j列所有元素列所有元素例例2-6A(:,j)A(i,:)表示表示a矩阵第矩阵第i行所有元素行所有元素A(1:3,2:4)表示表示a矩阵第矩阵第1-3行,行,2-4列元素列元

13、素构成的子矩阵构成的子矩阵指令:指令:size(A)查看矩阵的维数查看矩阵的维数计计计计计计 算算算算算算 机机机机机机 仿仿仿仿仿仿 真真真真真真 132.3 数组运算和矩阵运算数组运算和矩阵运算2.3.1 2.3.1 数组运算的常用函数数组运算的常用函数计计计计计计 算算算算算算 机机机机机机 仿仿仿仿仿仿 真真真真真真 142.3 数组运算和矩阵运算数组运算和矩阵运算2.3.1 2.3.1 数组运算的常用函数数组运算的常用函数计计计计计计 算算算算算算 机机机机机机 仿仿仿仿仿仿 真真真真真真 152.3 数组运算和矩阵运算数组运算和矩阵运算表表2-6 数组运算和矩阵运算常用指令对照表数

14、组运算和矩阵运算常用指令对照表例题例题2-82-8注意注意区别区别例题例题2-72-72.3.2 2.3.2 数组运算和矩阵运算数组运算和矩阵运算计计计计计计 算算算算算算 机机机机机机 仿仿仿仿仿仿 真真真真真真 162.3 数组运算和矩阵运算数组运算和矩阵运算2.3.2 2.3.2 数组运算和矩阵运算数组运算和矩阵运算A zeros(2,3);A(:)=1:6A=A*(1+i);Aa=A.Am=A例:两种转置比较例:两种转置比较计计计计计计 算算算算算算 机机机机机机 仿仿仿仿仿仿 真真真真真真 172.3 数组运算和矩阵运算数组运算和矩阵运算2.其他数组和矩阵运算指令norm(V)求向量

15、V的2范数rank(X)返回矩阵X的秩det(X)返回矩阵X的行列式poly(X)计算矩阵X的特征多项式,按降幂排列返回特征多项式的系数向量eig(X)返回矩阵X的特征根inv(X)求矩阵X的逆计计计计计计 算算算算算算 机机机机机机 仿仿仿仿仿仿 真真真真真真 182.4 2.4 非数和空数组非数和空数组非数和空数组非数和空数组非数非数Not a NumberNaN nan0/0,/,0等运算等运算性质与功用性质与功用例题例题2-9例题例题2-10Nan参与运算所得的结果也是参与运算所得的结果也是nan(传递性)(传递性)非数没有大小的概念。非数没有大小的概念。真实表示真实表示0/0等运算结

16、果等运算结果避免因为这类异常运算而造成的程序中断避免因为这类异常运算而造成的程序中断在数据可视化中用来裁剪图形在数据可视化中用来裁剪图形计计计计计计 算算算算算算 机机机机机机 仿仿仿仿仿仿 真真真真真真 192.4 2.4 非数和空数组非数和空数组非数和空数组非数和空数组空数组空数组元素均为元素均为0的数组、的数组、例题例题2-11计计计计计计 算算算算算算 机机机机机机 仿仿仿仿仿仿 真真真真真真 202.5 2.5 数组的关系运算和逻辑运算数组的关系运算和逻辑运算数组的关系运算和逻辑运算数组的关系运算和逻辑运算(1)Matlab没有定义专门的逻辑变量,在所有关系、没有定义专门的逻辑变量,

17、在所有关系、逻辑表达式中,作为输入的任何非逻辑表达式中,作为输入的任何非0数都被看成是数都被看成是“逻辑真逻辑真”,只有,只有0被认为是被认为是“逻辑假逻辑假”(2)所以关系和逻辑表达式的计算结果,是一个由所以关系和逻辑表达式的计算结果,是一个由0和和1组成的组成的“逻辑数组逻辑数组”(3)逻辑数组是一种特殊的数组,与逻辑数组是一种特殊的数组,与“数组类数组类”有关有关操作和函数对它同样适用操作和函数对它同样适用计计计计计计 算算算算算算 机机机机机机 仿仿仿仿仿仿 真真真真真真 212.5 2.5 数组的关系运算和逻辑运算数组的关系运算和逻辑运算数组的关系运算和逻辑运算数组的关系运算和逻辑运

18、算关系运算关系运算例题例题2-12、标量可以与数组比较,比较在此标量和数组标量可以与数组比较,比较在此标量和数组的每个元素之间进行,比较结果与被比较数的每个元素之间进行,比较结果与被比较数组同维组同维数组与数组比较必须维数相同,对相同位置数组与数组比较必须维数相同,对相同位置数进行对比数进行对比计计计计计计 算算算算算算 机机机机机机 仿仿仿仿仿仿 真真真真真真 222.5 2.5 数组的关系运算和逻辑运算数组的关系运算和逻辑运算数组的关系运算和逻辑运算数组的关系运算和逻辑运算逻辑运算逻辑运算例题例题2-13&与、与、|或、或、非非计计计计计计 算算算算算算 机机机机机机 仿仿仿仿仿仿 真真真

19、真真真 232.6 字符串数组字符串数组字符变量的创建字符变量的创建字符变量字符变量A=机械工程及自动化机械工程及自动化例题例题2-14计计计计计计 算算算算算算 机机机机机机 仿仿仿仿仿仿 真真真真真真 24字符串数组操作函数字符串数组操作函数例题例题2-15计计计计计计 算算算算算算 机机机机机机 仿仿仿仿仿仿 真真真真真真 25字符串转换函数字符串转换函数num2strstr2num把数值转换为串把数值转换为串把串转换为数值把串转换为数值Abs将串翻译成将串翻译成ASCII码码Bin2dec二进制串转变成十进制整数二进制串转变成十进制整数Charascii码及其他非数值类数据转换成字符串

20、码及其他非数值类数据转换成字符串Double将任何类数据转换成双精度数值将任何类数据转换成双精度数值Intstr将整数转换为串将整数转换为串Setstr将将AScii吗翻译成串吗翻译成串计计计计计计 算算算算算算 机机机机机机 仿仿仿仿仿仿 真真真真真真 26例题例题2-16 字符串转换函数字符串转换函数计计计计计计 算算算算算算 机机机机机机 仿仿仿仿仿仿 真真真真真真 27例题例题2-17 字符串应用举例字符串应用举例计计计计计计 算算算算算算 机机机机机机 仿仿仿仿仿仿 真真真真真真 28字符串应用举例结果字符串应用举例结果计计计计计计 算算算算算算 机机机机机机 仿仿仿仿仿仿 真真真真

21、真真 292.7 元胞数组(单元数组)元胞数组(单元数组)由不同类型、不同维数的数组作为元素构成的数组。由不同类型、不同维数的数组作为元素构成的数组。每个元胞每个元胞/单元在数组中是平等的,它们只能以下标区分单元在数组中是平等的,它们只能以下标区分可以存放任何类型、任意大小的数组,而且同一个元胞数可以存放任何类型、任意大小的数组,而且同一个元胞数组的各元胞中的内容可以不同组的各元胞中的内容可以不同胞外标识胞外标识表示元胞数组中某个元胞的位置,用圆括号表示元胞数组中某个元胞的位置,用圆括号()。如如a(2,3)表示表示a元胞数组中第二行第三列元胞元素元胞数组中第二行第三列元胞元素元胞内寻访元胞内

22、寻访表示元胞数组中某个元胞的内容,用大括表示元胞数组中某个元胞的内容,用大括号号。如。如a2,3表示表示a元胞数组中第二行第三类元胞中的内容元胞数组中第二行第三类元胞中的内容计计计计计计 算算算算算算 机机机机机机 仿仿仿仿仿仿 真真真真真真 302.7 元胞数组元胞数组数值数值矩阵矩阵字符矩阵字符矩阵复数复数矩阵矩阵元胞元胞数组数组计计计计计计 算算算算算算 机机机机机机 仿仿仿仿仿仿 真真真真真真 312.元胞数组的创建和显示【例【例【例【例2-182-182-182-18】演示:】演示:】演示:】演示:(2 2)(2 2)(2 2)(2 2)元胞数组的创建。元胞数组的创建。元胞数组的创建

23、。元胞数组的创建。C_str=char(C_str=char(这是这是这是这是,元胞数组创建算例元胞数组创建算例元胞数组创建算例元胞数组创建算例 1);1);R=reshape(1:9,3,3);Cn=1+2i;R=reshape(1:9,3,3);Cn=1+2i;S_sym=sym(sin(-3*t)*exp(-t);S_sym=sym(sin(-3*t)*exp(-t);(1 1)直接创建法之一)直接创建法之一)直接创建法之一)直接创建法之一A=cell(2,2);A=cell(2,2);A=cell(2,2);A=cell(2,2);A(1,1)=C_str;A(1,2)=R;A(2,1

24、)=Cn;A(2,2)=S_syA(1,1)=C_str;A(1,2)=R;A(2,1)=Cn;A(2,2)=S_sym;m;A AA=A=A=A=2x10 char 3x3 double2x10 char 3x3 double2x10 char 3x3 double2x10 char 3x3 double1.0000+2.0000i 1x1 sym 1.0000+2.0000i 1x1 sym 1.0000+2.0000i 1x1 sym 1.0000+2.0000i 1x1 sym 2.7 元胞数组元胞数组例例2-18计计计计计计 算算算算算算 机机机机机机 仿仿仿仿仿仿 真真真真真真 3

25、22.2.元胞数组的创建和显示元胞数组的创建和显示【例【例2-182-18】元胞数组的扩充。】元胞数组的扩充。(1 1)C=cell(2);C=cell(2);C(:,1)=char(Another,text string);10:-1:1C(:,1)=char(Another,text string);10:-1:1C=C=C=C=2x11 char 2x11 char 2x11 char 2x11 char 1x10 double 1x10 double 1x10 double 1x10 double(2 2)A_C=A;CA_C=A;CA_C=A_C=A_C=A_C=2x10 char

26、3x3 double2x10 char 3x3 double2x10 char 3x3 double2x10 char 3x3 double1.0000+2.0000i 1x1 sym 1.0000+2.0000i 1x1 sym 1.0000+2.0000i 1x1 sym 1.0000+2.0000i 1x1 sym 2x11 char 2x11 char 2x11 char 2x11 char 1x10 double 1x10 double 1x10 double 1x10 double 2.7 元胞数组元胞数组例例2-18计计计计计计 算算算算算算 机机机机机机 仿仿仿仿仿仿 真真真真

27、真真 332.7 元胞数组元胞数组例例2-182.元胞数组的创建和显示【例【例【例【例2-182-182-182-18】cellplot cellplot 能用图形形象化地表示元胞数能用图形形象化地表示元胞数能用图形形象化地表示元胞数能用图形形象化地表示元胞数组的内容。(组的内容。(组的内容。(组的内容。(A_C A_C A_C A_C 取自上例)取自上例)取自上例)取自上例)cellplot(A_C,legend)cellplot(A_C,legend)计计计计计计 算算算算算算 机机机机机机 仿仿仿仿仿仿 真真真真真真 342.7 元胞数组元胞数组例例2-192.元胞数组的创建和显示【例【

28、例【例【例2-192-192-192-19】在存放和操作字符串上的应用在存放和操作字符串上的应用在存放和操作字符串上的应用在存放和操作字符串上的应用计计计计计计 算算算算算算 机机机机机机 仿仿仿仿仿仿 真真真真真真 352.8 构架数组构架数组Structure Array架构数组必须在划分域后才能使用,数据只能放在架构数组必须在划分域后才能使用,数据只能放在域中域中架构的域可以存放任何类型、任何大小的数组架构的域可以存放任何类型、任何大小的数组不同架构的同名域中存放的内容可以不同不同架构的同名域中存放的内容可以不同计计计计计计 算算算算算算 机机机机机机 仿仿仿仿仿仿 真真真真真真 362

29、.8 构架数组构架数组s=struct(field1,field2,.)%建立一个空的结构体,建立一个空的结构体,field1,field2是域名称是域名称 s=struct(field1,values1,field2,values2,.)%建立结构体的时候就赋值,建立结构体的时候就赋值,values1,values2就就是针对是针对field1,field2所赋的值。所赋的值。例如:例如:s=struct(type,big,little,color,red,x,3 4)这个结构体有三个域这个结构体有三个域type,color,x计计计计计计 算算算算算算 机机机机机机 仿仿仿仿仿仿 真真真真

30、真真 372.8 构架数组构架数组Structure Array%2.21student_rec.number=1;student_rec.name=王新宇;student_rec.height=180;student_rec.test=100,80,75;77,60,92;67,28,90;100,89,78;student_recstudent_rec.test%这是一个单构架,共有4个域。%执行本程序后,指令窗中将分别%构架结构和构架的域test内容。例例2-20构架数组的创建和显示构架数组的创建和显示计计计计计计 算算算算算算 机机机机机机 仿仿仿仿仿仿 真真真真真真 38常用的基本数学函数常用的基本数学函数计计计计计计 算算算算算算 机机机机机机 仿仿仿仿仿仿 真真真真真真 39向量运算的常用函数向量运算的常用函数

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

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁