Simulink建模与仿真(6)-Simulink使用基础(MATLAB的单元与结构体)
  8W0nCrp2HjCF 2023年12月10日 14 0

✅作者简介:热爱科研的算法开发者,Python、Matlab项目可交流、沟通、学习。

🍎个人主页:算法工程师的学习日志


分享一个系列,关于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




【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月10日 0

暂无评论

推荐阅读
8W0nCrp2HjCF