前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Simulink建模与仿真(6)-Simulink使用基础(MATLAB的单元与结构体)

Simulink建模与仿真(6)-Simulink使用基础(MATLAB的单元与结构体)

作者头像
用户9925864
发布2023-09-18 15:31:49
2560
发布2023-09-18 15:31:49
举报

分享一个系列,关于Simulink建模与仿真,尽量整理成体系

1. 字符串数据

MATLAB作为高性能的科学计算平台,不仅提供高精度的数值计算功能,而且还提供对多种数据类型的支持。如double类型表示双精度浮点数,char表示字符,unit8表示无符号8位整型数等等。除此之外,MATLAB还提供对字符串的支持,在MATLAB中字符串由单引号来定义。如:

代码语言:javascript
复制
Strname='Simulation' % 表示Strname为一字符串,其值为 Simulation

进而可以定义字符(串)矩阵。它与定义普通矩阵类似。

2. 单元矩阵

在前面所提到的矩阵与向量中,矩阵之中所有元素的数据类型均为单一的类型。MATLAB支持复合数据类型的矩阵与向量,这是由一个特殊的矩阵实现的,它就是单元矩阵(Cell类型的矩阵)。在有些书中,单元矩阵也称为细胞矩阵或细胞数组。

单元矩阵的生成方式有如下三种:

(1) 使用花括号{ }直接生成,这与普通矩阵使用中括号[ ]生成方法一致。例如:

代码语言:javascript
复制
>>cellmatrix={'xidian' ,'press' , 20 ;'xian' , 15.21 ,'university'};

(2) 直接对单元矩阵中的每一单元分别进行赋值,如:

代码语言:javascript
复制
>>cellname{1}='MATLAB';
>>cellname{2}=20.23;

(3) 通过MATLAB中单元矩阵的创建命令cell创建合适的矩阵。cell的使用方法如下:

代码语言:javascript
复制
>>cellname=cell(m,n) % 表示创建一个m×n的单元

3. 结构体

如今的程序设计语言中,大都提供了对结构体变量的支持;MATLAB同样支持结构体变量,而且其生成与使用都非常容易、直观。结构体是一个很有用的某些具有某种相关性记录的集合体,它使一系列相关记录集合到一个统一的结构之中,从而使这些记录能够被有效地管理、组织与引用。

在MATLAB中,结构体是按照域的方式生成与存储结构体中的每个记录;一个域中可以包括任何MATLAB支持的数据类型,如双精度数值、字符、单元矩阵及结构等类型。下面简单介绍结构体的生成与引用。

1) 结构体生成

结构体生成方式:

代码语言:javascript
复制
struct_name(record_number).field_name=data;

如某个班级学生花名册的建立:

代码语言:javascript
复制
>>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中对结构体变量的引用也很简单,如对上述学生花名册中的第二个学生记录的引用如下:

代码语言:javascript
复制
>>Name=student(2).name;
>>Number=student(2).number;

其结果为:

代码语言:javascript
复制
Name=
Ma Lei
Number=
0134
本文参与?腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-09-10 22:36,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 算法工程师的学习日志 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体同步曝光计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com