Matlab数组及其运算.ppt_第1页
Matlab数组及其运算.ppt_第2页
Matlab数组及其运算.ppt_第3页
Matlab数组及其运算.ppt_第4页
Matlab数组及其运算.ppt_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 计计 算算 机机 仿仿 真真 计 算 机 仿 真 第二章 MatLab 数组及其运算 李益兵 计计 算算 机机 仿仿 真真 2 数值数组(Numeral Array)和数组运算(Array Operations)是MatLab的核心内容。 MatLab是以复数矩阵作为基本的运算单元,向量和 标量都作为特殊的矩阵来处理:向量当作只有一行或一列 矩阵,标量则为只有一个元素的矩阵。 矩阵只是数组的一种特例,它是二维的数值型数组, 表示了一种线性变换关系。 计计 算算 机机 仿仿 真真 3 矩阵数值数组的特例 矩阵的概念 使计算程序简单、易读,使程序命令更接近于教科书上 的数学计算公式; MATLAB精心设计数组和数组运算的目的 提高程序的向量化程度,提高计算效率,节省计算机资 源。 从外观和数据结构上看,二维数组和数学中的矩阵没 有区别。但是,矩阵作为一种变换或影射算子的体现,矩 阵运算有着明确而严格的数学规则。 数组运算 矩阵运算 按照线性代数的运算规则进行 对数组中的每个元素进行同样的运算 计计 算算 机机 仿仿 真真 4 第二章 MATLAB数组及其运算 2.1 MATLAB的数据类型 2.2 数值数组的生成和寻访 2.3 数组运算和矩阵运算 2.4 非数和空数组 2.5 数组的关系运算和逻辑运算 2.6 字符串数组 2.7 元胞数组 2.8 构架数组 计计 算算 机机 仿仿 真真 5 2.1 MATLAB的数据类型 数据类型 Data Types 数值字符串元胞结构体函数句柄Java类 numeric charcellstructurefunction handle Java class 双精度单精度整数类 稀疏 doublesingleint sparseMATLAB的数据都是以“数组”的形式出现的 数据结构数据运算 计计 算算 机机 仿仿 真真 6 2.2 数值数组的生成和寻访 数组的生成 逐个元素输入法 对于较小的简单的数组,从键盘上直接输入,需要遵循以 下几个原则: 数组(矩阵)中每一行的元素必须用空格或逗号分开 在数组(矩阵)中,用分号或回车行表明每一行的结束 整个输入数组(矩阵)必须包含在方括号中 计计 算算 机机 仿仿 真真 7 2.2 数值数组的生成和寻访 数组的生成 冒号生成法 x=first:last 创建从first开始,加1计数,到last结束的行向量x x=first:increment:last 创建从first开始,加增量计数,到last结束的行向量x。 Increment可以是负数,或省略则默认为1。 若inc0但是first大于last,或者inc0但是last大于first,则X 是空向量。 例2-1 计计 算算 机机 仿仿 真真 8 2.2 数值数组的生成和寻访 数组的生成 定数线性采样法 x=linspace(first,last,n) 在设定总点数的情况下,均匀采样生成一维行数组。 创建从first开始,到last结束,有n个元素的行向量x。 n省略默认为100。 例2-2 计计 算算 机机 仿仿 真真 9 2.2 数值数组的生成和寻访 数组的生成 利用M文件例2-3 对于经常需要调用的且比较大的数组,可专门为该数组 创建一个M文件。 计计 算算 机机 仿仿 真真 10 简单数组创建 命 令功 能 x=2+i squrt(2) 2*pi 创建包含指定元素的行向量 x x=first:last创建从first开始,加1计数, 到last结束的行向量x x=first:increment:las t 创建从first开始,加增量计 数,到last结束的行向量x x=linspace(first,last, n) (线性分隔) 创建从first开始,到last结束 ,有n个元素的行向量x x=logspace(first,last, n) (对数分隔) 创建从 开始,到 结束,有n个元素的行向量x 计计 算算 机机 仿仿 真真 11 2.2.1 常用数组生成 例2-4 diag 产生对角线数组(二维以下) 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) rand(3);rand(3,4) randn(3);randn(2,3 ) zeros(3,2);zeros(3) 计计 算算 机机 仿仿 真真 12 2.2.2 数值数组的寻访 一维数组的寻访 二维数组的寻访 格式:X(index) Index可以是单个正整数或正整数数组 例2-5 格式:A(:, j) 表示a矩阵第j列所有元素 例2-6 A(:, j) A(i, :) 表示a矩阵第i行所有元素 A(1:3, 2:4)表示a矩阵第1-3行,2-4列元素 构成的子矩阵 指令: size(A) 查看矩阵的维数 计计 算算 机机 仿仿 真真 13 2.3 数组运算和矩阵运算 2.3.1 数组运算的常用函数 计计 算算 机机 仿仿 真真 14 2.3 数组运算和矩阵运算 2.3.1 数组运算的常用函数 计计 算算 机机 仿仿 真真 15 2.3 数组运算和矩阵运算 表2-6 数组运算和矩阵运算常用指令对照表 例题2-8 注意 区别 例题2-72.3.2 数组运算和矩阵运算 计计 算算 机机 仿仿 真真 16 2.3 数组运算和矩阵运算 2.3.2 数组运算和矩阵运算 A zeros(2,3); A(:) = 1:6 A = A*(1+i); Aa = A. Am = A 例:两种转置比较 计计 算算 机机 仿仿 真真 17 2.3 数组运算和矩阵运算 2.其他数组和矩阵运算指令 norm(V)求向量V的2范数 rank(X) 返回矩阵X的秩 det(X) 返回矩阵X的行列式 poly(X) 计算矩阵X的特征多项式,按 降幂排列返回特征多项式的系数向量 eig(X) 返回矩阵X的特征根 inv(X) 求矩阵X的逆 计计 算算 机机 仿仿 真真 18 2.4 非数和空数组 非数 Not a NumberNaN nan 0/0,/,0等运算 性质与功用 例题2-9 例题2-10 Nan参与运算所得的结果也是nan(传递性) 非数没有大小的概念。 真实表示0/0等运算结果 避免因为这类异常运算而造成的程序中断 在数据可视化中用来裁剪图形 计计 算算 机机 仿仿 真真 19 2.4 非数和空数组 空数组 元素均为0的数组、 例题2-11 计计 算算 机机 仿仿 真真 20 2.5 数组的关系运算和逻辑运算 (1)Matlab没有定义专门的逻辑变量,在所有关系、 逻辑表达式中,作为输入的任何非0数都被看成是“ 逻辑真”,只有0被认为是“逻辑假” (2)所以关系和逻辑表达式的计算结果,是一个由0 和1组成的“逻辑数组” (3)逻辑数组是一种特殊的数组,与“数组类”有关操 作和函数对它同样适用 计计 算算 机机 仿仿 真真 21 2.5 数组的关系运算和逻辑运算 关系运算例题2-12 、 标量可以与数组比较,比较在此标量和数组 的每个元素之间进行,比较结果与被比较数 组同维 数组与数组比较必须维数相同,对相同位置 数进行对比 计计 算算 机机 仿仿 真真 22 2.5 数组的关系运算和逻辑运算 逻辑运算 例题2-13 R=reshape(1:9,3,3);Cn=1+2i; S_sym=sym(sin(-3*t)*exp(-t); (1)直接创建法之一 A=cell(2,2); A(1,1)=C_str;A(1,2)=R;A(2,1)=Cn;A(2,2)=S_sy m; A A = 2x10 char 3x3 double 1.0000+ 2.0000i 1x1 sym 2.7 元胞数组 例2-18 计计 算算 机机 仿仿 真真 32 2.元胞数组的创建和显示 【例2-18】元胞数组的扩充。 (1) C=cell(2); C(:,1)=char(Another,text string);10:-1:1 C = 2x11 char 1x10 double (2) A_C=A;C A_C = 2x10 char 3x3 double 1.0000+ 2.0000i 1x1 sym 2x11 char 1x10 double 2.7 元胞数组 例2-18 计计 算算 机机 仿仿 真真 33 2.7 元胞数组 例2-18 2.元胞数组的创建和显示 【例2-18】cellplot 能用图形形象化地表示元胞数 组的内容。(A_C 取自上例) cellplot(A_C,legend) 计计 算算 机机 仿仿 真真 34 2.7 元胞数组 例2-19 2.元胞数组的创建和显示 【例2-19】在存放和操作字符串上的应用 计计 算算 机机 仿仿 真真 35 2.8 构架数组 Structure Array 架构数组必须在划分域后才能使用,数据只能放在 域中 架构的域可以存放任何类型、任何大小的数组 不同架构的同名域中存放的内容可以不同 计计 算算 机机 仿仿 真真 36 2.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 计计 算算 机机 仿仿 真真 37 2.8 构架数组 Structure Array %2.21 student_rec.number=1; student_=王新宇; student_

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论