- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2讲 Matlab的数据处理
第2 讲 Matlab 的数据处理
司守奎
烟台市,海军航空工程学院数学教研室
Email :sishoukui@163.com
Matlab 数据类型有以下几种:数值类型,字符串,日期和时间,结构数组,细胞数组
(元胞数组),函数句柄,Java 对象,逻辑类型等。
数值类型包括双精度类型,单精度类型,整型类型。下面我们主要讲数值类型的数据
操作。
1 结构数组与细胞数组
1.1 结构数组
有时需要将不同的数据类型组合成一个整体,以便于引用。这些组合在一个整体中的数
据是相互联系的。例如,一个学生的学号、姓名、性别、年龄、成绩、家庭地址等项都是和
该学生有联系的。
下面简单介绍结构体的定义与引用。
i)结构数组的定义
定义结构数组可以采用两种方法:用赋值语句定义和用函数struct 定义。
用赋值语句定义结构时,只要给出结构的属性赋值,Matlab 就会自动把该属性增加到
结构中,赋值时,结构名和属性名用“.”分开。例如,下面三条语句将定义一个11的结
构数组,结构名为 student,有三个属性:name、num、test。该结构数组只有一个元素,
在命令窗口中键入结构名student,将显示该元素所有属性的属性值特性。
=John Doe;
student.num=123456;
student.test=[79 75 73;80 78 79;90 85 80];
再键入以下三行可给该结构数组增加一个元素。
student(2).name=Ann Lane;
student(2).num=123422;
student(2).test=[70 76 73;80 99 79;90 85 80;80 85 86];
现在结构数组student 的维数为12 。当结构数组的元素超过1 个时,MATLAB 的显示
信息中,不再显示不同属性的值,而只显示数组名、属性名和维数大小。
函数struct 也可用来定义结构数组,其调用格式为:
结构数组名=struct(‘属性1’,属性值1, ‘属性2’,属性值2,…)
ii)结构数组属性值的修改、设置和获取
结构数组一旦形成,就可取出数组中的某个元素并修改该元素的某个属性值。以上面建
立的student 数组为例,命令
str=student(2).name
可取出第二个元素的name 属性的值。
命令
n=student(2).test(4,2)
取出第二个元素test 的值中第四行第二列上的数。
同理,可用命令
student(2).test(4,2)=0
修改第二个元素test 的值中第四行第二列上的数的值。
关于结构数组有表1 中的函数。
1
表1 结构数组的有关函数
函数名 作用
struct 生成和转换为结构数组
fieldnames 查询结构数组的属性名
getfield 查询结构数组的属性值
setfield 设置结构数组的属性值
rmfield 删除属性
isfield 检查是否为数组的属性
isstruct 检查数组是否为结构型
1.2 细胞数组
细胞数组也是MATLAB 里的一类特殊的数组。在MATLAB 里,由于有细胞数组这个数据类
型,才能把不同类型、不同维数的数组组成为一个数组。
细胞数组的每一个元素可为类型不同、维数不同的矩阵、向量、标量或多维数组,所有
元素用大括号括起来。如矩阵A=[1 2 3 4;2 3 4 5;3 4 5 6],则命令
c={A,sum(A),sum(sum(A))}
得到一个13 的细胞数组。
关于细胞数组
文档评论(0)