matlab数据类型的一点心得

tic-------matlab计时开始

toc------matlab计时结束

eg:

tic;

exp;

time=toc; %把计时时间赋值给time

num2str()把数字转换成字符串

matlab的数据是以矩阵为单位的,一个标量可以看作是一个1X1的矩阵,一个字符串实质上也是一个矩阵.

但是有比矩阵更大的集合吗?

答案就是元组cell,一个元组中可以存储不同的数据类型,但是矩阵只能存储相同的数据类型.

可以这样想象,把相同数据类型的元素放在 各自的 矩阵之中,矩阵经过压缩后,再组合成一个元组

元组使用{}括起来,也分mXn元组,其维数是以压缩包为单位的.

如果a是一个元组,则a()只能索引元组的元素,也即是一个个压缩包(即cell数据类型),只有使用a{}才能索引解压了的矩阵.

对元组赋值的时候,若采用a()=``的方式,需将矩阵压缩,具体操作方法是在矩阵两边加上{},,若采用a{}=``,则直接赋值即可.

除此之外,元组还可以实现元组之间的嵌套,即包含另外一个元组,或者包含它自身

结构体也是一个比矩阵要大的集合,结构体可以包含元组,元组也可以包含结构体,但是矩阵包含不了二者中的任何一个.

b=struct('字段',值)

matlab 中的结构体 用于记录一个对象的属性信息,一个结构体只能记录一个实例的相关信息,,例如学生(对象)拥有学号,姓名,性别等属性,

这些属性也就是struct中的字段,,可以使用  b.字段  去对字段赋上具体的值,如   b.姓名='五六七'   

所以一个struct可以表示一个学生(实例),那么可以把多个struct放在一个元组当中,这样一个元组就可以表示一个班级的学生的信息了,

还可以把该元组放在更大的元组中,这样就可以表示一个学院的学生信息.

struct中的字段也分mXn型,当只有一个字段的值是一个元组(结构体包含元组)的时候,该元组的维度数就是字段的维度数,

这时,该结构体的其他 非元组 字段也自动扩充成那个维数.

如果一个结构体的两个 元组字段 的维数不同,则matlab返回error

发布了29 篇原创文章 · 获赞 3 · 访问量 3388

猜你喜欢

转载自blog.csdn.net/qq_41601836/article/details/104995556
今日推荐