"MATLAB编程-结构数组-维修技术手册"
在MATLAB中,结构数组是一种强大的数据类型,它允许用户存储不同类型的数据在一个单一的数组中。结构数组类似于C语言或其他编程语言中的结构体,每个结构包含一系列有名字的域,这些域可以有不同的数据类型。在MATLAB中,结构数组的每个元素(结构)可以看作是一个小型的数据记录,其中包含了相关的数据字段。
7.3 结构数组
结构数组的名字可以用来引用整个数组,而每个结构的成员(或域)则通过结构名加上成员名并用句点分隔来访问。例如,如果有一个结构数组名为`person`,并且包含`name`和`age`两个域,那么访问第一个元素的名字可以写作`person(1).name`,访问其年龄则是`person(1).age`。
7.3.1 创建结构
创建结构有以下两种方式:
1. **用赋值语句创建**
通过直接赋值给结构的域可以创建结构。例如,如果要创建一个包含`firstName`和`lastName`的结构,可以这样写:
```matlab
person.firstName = 'John';
person.lastName = 'Doe';
```
这样就创建了一个名为`person`的结构,并初始化了两个域。
2. **用`struct`函数创建**
`struct`函数允许用户更系统地创建结构。例如,创建一个具有两个字段的结构数组:
```matlab
person = struct('firstName', {'John', 'Jane'}, 'lastName', {'Doe', 'Smith'});
```
这会创建一个包含两个结构元素的数组,每个元素都有`firstName`和`lastName`字段。
7.3.1.1 用赋值语句创建函数
使用赋值语句创建结构时,每个单独的赋值操作都会创建一个新的域。例如,逐步添加域到结构中:
```matlab
person.name = 'John';
person.age = 30;
```
在这个例子中,`person`结构随着每次赋值而扩展,最终包含`name`和`age`两个域。
在MATLAB编程中,结构数组是处理复杂数据类型的有效工具,它们特别适合于表示具有多个相关属性的对象或记录。通过灵活的域定义,可以构建出适应各种应用需求的结构。此外,结构数组可以与其他MATLAB数据类型如向量、矩阵和细胞数组相结合,实现更复杂的编程模式。
在本书《MATLAB编程(第二版)》中,作者Stephen J. Chapman深入介绍了如何使用MATLAB进行编程,包括结构数组的使用方法。译者邢树军和郑碧波的工作使得这本教材能够为中文读者提供学习MATLAB的便利。译本针对原文进行了多处修正,如源代码测试、截图更新、附录补充等,以提高学习体验。尽管可能存在一些版本差异和翻译不一致的问题,但总体上,这个译本为初学者提供了丰富的MATLAB编程知识。