




已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计 算 机 仿 真 第二章 MatLab 数组及其运算,李益兵 ,数值数组(Numeral Array)和数组运算(Array Operations)是MatLab的核心内容。 MatLab是以复数矩阵作为基本的运算单元,向量和标量都作为特殊的矩阵来处理:向量当作只有一行或一列矩阵,标量则为只有一个元素的矩阵。 矩阵只是数组的一种特例,它是二维的数值型数组,表示了一种线性变换关系。,矩阵数值数组的特例,矩阵的概念,使计算程序简单、易读,使程序命令更接近于教科书上的数学计算公式;,MATLAB精心设计数组和数组运算的目的,提高程序的向量化程度,提高计算效率,节省计算机资源。,从外观和数据结构上看,二维数组和数学中的矩阵没有区别。但是,矩阵作为一种变换或影射算子的体现,矩阵运算有着明确而严格的数学规则。,数组运算,矩阵运算,按照线性代数的运算规则进行,对数组中的每个元素进行同样的运算,第二章 MATLAB数组及其运算,2.1 MATLAB的数据类型 2.2 数值数组的生成和寻访 2.3 数组运算和矩阵运算 2.4 非数和空数组 2.5 数组的关系运算和逻辑运算 2.6 字符串数组 2.7 元胞数组 2.8 构架数组,2.1 MATLAB的数据类型,数据类型,Data Types,数值,字符串,元胞,结构体,函数句柄,Java类,numeric,char,cell,structure,functionhandle,Java class,双精度,单精度,整数类,稀疏,double,single,int,sparse,MATLAB的数据都是以“数组”的形式出现的,数据结构,数据运算,2.2 数值数组的生成和寻访,数组的生成,逐个元素输入法,对于较小的简单的数组,从键盘上直接输入,需要遵循以下几个原则: 数组(矩阵)中每一行的元素必须用空格或逗号分开 在数组(矩阵)中,用分号或回车行表明每一行的结束 整个输入数组(矩阵)必须包含在方括号中,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,2.2 数值数组的生成和寻访,数组的生成,定数线性采样法,x=linspace(first,last,n),在设定总点数的情况下,均匀采样生成一维行数组。 创建从first开始,到last结束,有n个元素的行向量x。 n省略默认为100。,例2-2,2.2 数值数组的生成和寻访,数组的生成,利用M文件,例2-3,对于经常需要调用的且比较大的数组,可专门为该数组创建一个M文件。,简单数组创建,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),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),查看矩阵的维数,2.3 数组运算和矩阵运算,2.3.1 数组运算的常用函数,2.3 数组运算和矩阵运算,2.3.1 数组运算的常用函数,2.3 数组运算和矩阵运算,表2-6 数组运算和矩阵运算常用指令对照表,例题2-8,注意,区别,例题2-7,2.3.2 数组运算和矩阵运算,2.3 数组运算和矩阵运算,2.3.2 数组运算和矩阵运算,A zeros(2,3); A(:) = 1:6 A = A*(1+i); Aa = A. Am = A,例:两种转置比较,2.3 数组运算和矩阵运算,2.其他数组和矩阵运算指令 norm(V)求向量V的2范数 rank(X) 返回矩阵X的秩 det(X) 返回矩阵X的行列式 poly(X) 计算矩阵X的特征多项式,按降幂排列返回特征多项式的系数向量 eig(X) 返回矩阵X的特征根 inv(X) 求矩阵X的逆,2.4 非数和空数组,非数,Not a Number,NaN nan,0/0,/,0等运算,性质与功用,例题2-9,例题2-10,Nan参与运算所得的结果也是nan(传递性) 非数没有大小的概念。 真实表示0/0等运算结果 避免因为这类异常运算而造成的程序中断 在数据可视化中用来裁剪图形,2.4 非数和空数组,空数组,元素均为0的数组、 ,例题2-11,2.5 数组的关系运算和逻辑运算,(1)Matlab没有定义专门的逻辑变量,在所有关系、逻辑表达式中,作为输入的任何非0数都被看成是“逻辑真”,只有0被认为是“逻辑假” (2)所以关系和逻辑表达式的计算结果,是一个由0和1组成的“逻辑数组” (3)逻辑数组是一种特殊的数组,与“数组类”有关操作和函数对它同样适用,2.5 数组的关系运算和逻辑运算,关系运算,例题2-12,、 标量可以与数组比较,比较在此标量和数组的每个元素之间进行,比较结果与被比较数组同维 数组与数组比较必须维数相同,对相同位置数进行对比,2.5 数组的关系运算和逻辑运算,逻辑运算,例题2-13,& 与、 | 或、 非,2.6 字符串数组,字符变量的创建,字符变量,A=机械工程及自动化,例题2-14,字符串数组操作函数,例题2-15,字符串转换函数,num2str,str2num,把数值转换为串,把串转换为数值,Abs将串翻译成ASCII码 Bin2dec二进制串转变成十进制整数 Charascii码及其他非数值类数据转换成字符串 Double将任何类数据转换成双精度数值 Intstr将整数转换为串 Setstr将AScii吗翻译成串,例题2-16 字符串转换函数,例题2-17 字符串应用举例,字符串应用举例结果,2.7 元胞数组(单元数组),由不同类型、不同维数的数组作为元素构成的数组。 每个元胞/单元在数组中是平等的,它们只能以下标区分 可以存放任何类型、任意大小的数组,而且同一个元胞数组的各元胞中的内容可以不同 胞外标识表示元胞数组中某个元胞的位置,用圆括号()。如a(2,3)表示a元胞数组中第二行第三列元胞元素 元胞内寻访表示元胞数组中某个元胞的内容,用大括号。如a2,3表示a元胞数组中第二行第三类元胞中的内容,2.7 元胞数组,数值矩阵,字符矩阵,复数矩阵,元胞数组,2.元胞数组的创建和显示 【例2-18】演示: (2 2) 元胞数组的创建。 C_str=char(这是,元胞数组创建算例 1); 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_sym; A A = 2x10 char 3x3 double 1.0000+ 2.0000i 1x1 sym ,2.7 元胞数组,例2-18,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,2.7 元胞数组,例2-18,2.元胞数组的创建和显示 【例2-18】cellplot 能用图形形象化地表示元胞数组的内容。(A_C 取自上例) cellplot(A_C,legend),2.7 元胞数组,例2-19,2.元胞数组的创建和显示 【例2-19】在存放和操作字符串上的应用,2.8 构架数组,Structure Array,架构数组必须在划分域后才能使用,数据只能放在域中 架构的域可以存放任何类型、任何大小的数组 不同架构的同名域中存放的内容可以不同,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,2.8 构架数组,Structure Array,%2.21 student_rec.number=1; student
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 军队文职人员统一招聘笔试( 档案学)经典考题含答案
- 秋日的色彩600字(8篇)
- 2025年甘肃省金昌市辅警协警笔试模拟题(附答案)
- 三方室内环境协议
- 企业财务报表分析及经营策略制定模板
- 初中说明文范文我是一只小蜜蜂12篇
- 货物交易合同续签范本
- 施工安全管理手册协议
- 2025年乡镇司法所辅助人员招聘笔试题库附答案
- 行政费用预算编制及审批流程模板
- 设备材料进场报验单
- 班组长计划管理能力考试题库-上(选择题)
- (完整版)《机械制造工艺基础》教案
- 小学四年级数学口算题(每页60道直接打印).文档
- 诱思探究理论
- 铣床日常点检保养记录表
- 农产品贮藏与加工教案
- 04某污水处理厂630kW柔性支架光伏发电项目建议书
- 2022中国移动通信集团重庆限公司招聘上岸笔试历年难、易错点考题附带参考答案与详解
- 北师大版九年级数学上九年级第一二单元综合数学试题
- 二级建造师成绩复核申请
评论
0/150
提交评论