分享一个系列,关于Simulink建模与仿真,尽量整理成体系
1. 字符串数据
MATLAB作为高性能的科学计算平台,不仅提供高精度的数值计算功能,而且还提供对多种数据类型的支持。如double类型表示双精度浮点数,char表示字符,unit8表示无符号8位整型数等等。除此之外,MATLAB还提供对字符串的支持,在MATLAB中字符串由单引号来定义。如:
Strname='Simulation' % 表示Strname为一字符串,其值为 Simulation
进而可以定义字符(串)矩阵。它与定义普通矩阵类似。
2. 单元矩阵
在前面所提到的矩阵与向量中,矩阵之中所有元素的数据类型均为单一的类型。MATLAB支持复合数据类型的矩阵与向量,这是由一个特殊的矩阵实现的,它就是单元矩阵(Cell类型的矩阵)。在有些书中,单元矩阵也称为细胞矩阵或细胞数组。
单元矩阵的生成方式有如下三种:
(1) 使用花括号{ }直接生成,这与普通矩阵使用中括号[ ]生成方法一致。例如:
>>cellmatrix={'xidian' ,'press' , 20 ;'xian' , 15.21 ,'university'};
(2) 直接对单元矩阵中的每一单元分别进行赋值,如:
>>cellname{1}='MATLAB';
>>cellname{2}=20.23;
(3) 通过MATLAB中单元矩阵的创建命令cell创建合适的矩阵。cell的使用方法如下:
>>cellname=cell(m,n) % 表示创建一个m×n的单元
3. 结构体
如今的程序设计语言中,大都提供了对结构体变量的支持;MATLAB同样支持结构体变量,而且其生成与使用都非常容易、直观。结构体是一个很有用的某些具有某种相关性记录的集合体,它使一系列相关记录集合到一个统一的结构之中,从而使这些记录能够被有效地管理、组织与引用。
在MATLAB中,结构体是按照域的方式生成与存储结构体中的每个记录;一个域中可以包括任何MATLAB支持的数据类型,如双精度数值、字符、单元矩阵及结构等类型。下面简单介绍结构体的生成与引用。
1) 结构体生成
结构体生成方式:
struct_name(record_number).field_name=data;
如某个班级学生花名册的建立:
>>student(1).name='Li Yang';
>>student(1).number='0134';
>>student(2).name='Ma Lei';
>>student(2).number='0135';
. . .
>>student(33).name='Yao Hui';
>>student(33).number='0166'
student是具有33个结构变量的向量,表示某个班级所有33个同学的姓名与学号。每一个记录对应一个学生的姓名与学号。由此可见,在MATLAB中建立结构体是不费吹灰之力的。
2) 结构体引用
在MATLAB中对结构体变量的引用也很简单,如对上述学生花名册中的第二个学生记录的引用如下:
>>Name=student(2).name;
>>Number=student(2).number;
其结果为:
Name=
Ma Lei
Number=
0134
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有