欢迎来到天天文库
浏览记录
ID:62137568
大小:1.36 MB
页数:73页
时间:2021-04-18
《最新数据结构及其运算教学讲义PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数据结构及其运算2.1引言数据结构是程序设计的重要基础,使用合理的数据结构去描述问题,能够缩短程序代码、简化程序结构、便于程序维护。在MATLAB里共有六种基本数据类型,每一种类型可以构成一维、二维和多维的数组。这六种是:双精度型(double):双精度数值类型,是最常用的类型;字符型(char):字符数组,每个字符占16位;稀疏型(sparse):双精度稀疏矩阵,只存储矩阵中的非0元素;细胞型(cell):细胞,可以存放任意类型数据结构体(struct):不同类型的数据集合存储型(storage):用于图像处理2.1引言数组(Array)可以是一维的行(
2、或列),也可以是二维或多维的。用户可以操作整个数组,也可以操作数组中的某个或者某些元素。MATLAB会根据表达式的运算结果,自动确定变量的类型和大小。变量的数据类型可以用以下函数来查看:isa(var,’type’)%变量var的数据类型名称如果是type,则返回1,否则返回0class(var)%返回变量a的数据类型名称whosvar%查看变量var的详细情况2.3二维数组一、二维数组的建立1.逐个输入数组元素值如果数组内元素数量少,可以直接从键盘逐个输入元素的值,需要遵循的规则是:整个数组必须用中括号“[]”括起来数组的行与行之间用分号“;”分隔,或者
3、用回车符分隔每行之间的元素必须用逗号“,”或者空格分隔分隔符必须是英文字符,即在英文状态下输入分号、括号、方括号、逗号等例2.3.12.3二维数组2.利用M文件如果数组元素很多,或者元素值要经常改变,我们可以采用M文件来输入和保存数组。用M文件实现对数组x的输入和保存,方法如下:(1)在当前目录下,用程序编辑器建立一个名为MyData.m的文件;(2)在编辑器中输入x内容;(3)保存MyData.m文件;(4)在命令窗口键入MyData,就可以在内存中建立数组x并读入数组元素的值。例2.3.22.3二维数组二、二维数组的访问二维数组的访问遵循以下约定:用下
4、标方式访问数组元素,下标要用一对圆形括号()引起来;用双下标方式访问数组元素,格式为(r,c),其中r为二维数组的行下标,c为二维数组的列下标,下标之间用逗号分隔;用单下标方式访问二维数组,二维数组的单下标是按照列优先规则排序的,即二维数组被看作是从第一列开始从左到右依次将各列首位连接而成的一维数组,单下标表示元素在这个一维数组中的位置;单下标和双下标具有对应关系,其值可以通过ind2sub和sub2ind函数进行转换;可以访问二维数组的某个元素及其子数组,可以对元素和子数组赋值。例2.3.32.3二维数组【说明】有关空数组某一维长度为0的数组称为空数组;
5、空数组用[]表示,表示数组中没有元素,但可以表示计算结果为“空”;仅仅能用isempty函数正确判断数组是否为空;可以通过给数组元素赋值空数组来缩小数组的大小;尽量不要用空数组参与逻辑运算和关系运算;例2.3.42.4高维数组一、高维数组的创建可以采用下列方法创建高维数组:直接通过全下标方式进行元素赋值;用低维数组合成高维数组;用数组生成函数(ones/zeros/rand等)生成高维数组;用数组操作函数(repmat/reshape等)构造高维数组。例2.4.12.4高维数组二、多维数组的访问对于高维数组的访问,有下列约定:可以通过全下标方式访问。对于三
6、维数组来说,第一维下标称为“行下标”,第二维下标称为“列下标”,第三维下标一般称为“页下标。”可以通过单下标方式访问。高维数组的单下标是按照后维优先的次序排列的,对于三维数组来说,先排列“页”,页内先排列“列”,列内再排列“行”,即第1行第1列第1页的元素单下标为1,然后先变化行下标,再变化列下标,最后变化页下标。数组的维数通过ndims函数获取。数组的尺寸通过size函数获取数组的所有维中的最大长度通过length函数获取。例2.4.22.5数组操作一、标准数组的生成数学中定义了很多标准数组或者矩阵,如全1数组、全零数组、对角阵等,在Matlab中有相应
7、的函数用来生成这些标准数组。1.ones功能:生成全1数组,即数组中的元素都为1。格式:Y=ones(n)生成n×n的全1矩阵Y=ones(m1,m2,…,mk)生成m1×m2×…×mk的全1数组Y=ones(size(A))生成和数组A同样尺寸的全1数组2.zeros功能:生成全0数组,即数组中的元素都为0。格式:同ones函数2.5数组操作3.rand功能:生成均匀分布随机数组。格式:Y=sand('state',v)设置随机发生器的初始状态为v其他同ones函数4.randn功能:产生正态分布随机数组。格式:同rand函数5.magic功能:产生魔方
8、矩阵,不适用于高维数组。格式:M=magic(n)产生n×n的魔方
此文档下载收益归作者所有