中国汽车工程师之家--聚集了汽车行业80%专业人士 

论坛口号:知无不言,言无不尽!QQ:542334618 

本站手机访问:直接在浏览器中输入本站域名即可 

  • 92查看
  • 0回复

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

[复制链接]

该用户从未签到

发表于 29-3-2024 09:59:32 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


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

快速发帖

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 30-4-2024 17:53 , Processed in 0.226366 second(s), 27 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.