Matlab数组及其运算.ppt

上传人:牧羊曲112 文档编号:6511950 上传时间:2023-11-08 格式:PPT 页数:39 大小:416KB
返回 下载 相关 举报
Matlab数组及其运算.ppt_第1页
第1页 / 共39页
Matlab数组及其运算.ppt_第2页
第2页 / 共39页
Matlab数组及其运算.ppt_第3页
第3页 / 共39页
Matlab数组及其运算.ppt_第4页
第4页 / 共39页
Matlab数组及其运算.ppt_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《Matlab数组及其运算.ppt》由会员分享,可在线阅读,更多相关《Matlab数组及其运算.ppt(39页珍藏版)》请在三一办公上搜索。

1、计 算 机 仿 真第二章MatLab 数组及其运算,李益兵,数值数组(Numeral Array)和数组运算(Array Operations)是MatLab的核心内容。MatLab是以复数矩阵作为基本的运算单元,向量和标量都作为特殊的矩阵来处理:向量当作只有一行或一列矩阵,标量则为只有一个元素的矩阵。矩阵只是数组的一种特例,它是二维的数值型数组,表示了一种线性变换关系。,矩阵数值数组的特例,矩阵的概念,使计算程序简单、易读,使程序命令更接近于教科书上的数学计算公式;,MATLAB精心设计数组和数组运算的目的,提高程序的向量化程度,提高计算效率,节省计算机资源。,从外观和数据结构上看,二维数组

2、和数学中的矩阵没有区别。但是,矩阵作为一种变换或影射算子的体现,矩阵运算有着明确而严格的数学规则。,数组运算,矩阵运算,按照线性代数的运算规则进行,对数组中的每个元素进行同样的运算,第二章 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,functionhandl

3、e,Java class,双精度,单精度,整数类,稀疏,double,single,int,sparse,MATLAB的数据都是以“数组”的形式出现的,数据结构,数据运算,2.2 数值数组的生成和寻访,数组的生成,逐个元素输入法,对于较小的简单的数组,从键盘上直接输入,需要遵循以下几个原则:数组(矩阵)中每一行的元素必须用空格或逗号分开 在数组(矩阵)中,用分号或回车行表明每一行的结束 整个输入数组(矩阵)必须包含在方括号中,2.2 数值数组的生成和寻访,数组的生成,冒号生成法,x=first:last,创建从first开始,加1计数,到last结束的行向量x,x=first:incremen

4、t: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文件。

5、,简单数组创建,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 数值数组的寻访

6、,一维数组的寻访,二维数组的寻访,格式: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 数组运算和矩阵

7、运算,2.3.2 数组运算和矩阵运算,A zeros(2,3);A(:)=1:6A=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(传递性)非数没有大小的概念

8、。真实表示0/0等运算结果避免因为这类异常运算而造成的程序中断在数据可视化中用来裁剪图形,2.4 非数和空数组,空数组,元素均为0的数组、,例题2-11,2.5 数组的关系运算和逻辑运算,(1)Matlab没有定义专门的逻辑变量,在所有关系、逻辑表达式中,作为输入的任何非0数都被看成是“逻辑真”,只有0被认为是“逻辑假”(2)所以关系和逻辑表达式的计算结果,是一个由0和1组成的“逻辑数组”(3)逻辑数组是一种特殊的数组,与“数组类”有关操作和函数对它同样适用,2.5 数组的关系运算和逻辑运算,关系运算,例题2-12,、标量可以与数组比较,比较在此标量和数组的每个元素之间进行,比较结果与被比较数

9、组同维数组与数组比较必须维数相同,对相同位置数进行对比,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 字符串应用举

10、例,字符串应用举例结果,2.7 元胞数组(单元数组),由不同类型、不同维数的数组作为元素构成的数组。每个元胞/单元在数组中是平等的,它们只能以下标区分可以存放任何类型、任意大小的数组,而且同一个元胞数组的各元胞中的内容可以不同胞外标识表示元胞数组中某个元胞的位置,用圆括号()。如a(2,3)表示a元胞数组中第二行第三列元胞元素元胞内寻访表示元胞数组中某个元胞的内容,用大括号。如a2,3表示a元胞数组中第二行第三类元胞中的内容,2.7 元胞数组,数值矩阵,字符矩阵,复数矩阵,元胞数组,2.元胞数组的创建和显示【例2-18】演示:(2 2)元胞数组的创建。C_str=char(这是,元胞数组创建算

11、例 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;AA=2x10 char 3x3 double1.0000+2.0000i 1x1 sym,2.7 元胞数组,例2-18,2.元胞数组的创建和显示【例2-18】元胞数组的扩充。(1)C=cell(2);C(:,1)=char(Another,text string);10:-1:1C=2x11 char 1x10 double(2)A_C=A;

12、CA_C=2x10 char 3x3 double1.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,架构数组必须在划分域后才能使用,数据只能放在域中架构的域可以存放任何类型、任何大小的数组不同架构的同

13、名域中存放的内容可以不同,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.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,构架数组的创建和显示,常用的基本数学函数,向量运算的常用函数,

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号