matlab中cell类型怎么使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab中cell类型怎么使用相关的知识,希望对你有一定的参考价值。

那个A(i)应该是Ai才对吧。
——————————————————————
cell是matlab中的一种数据类型,用大括号定义,括号里可以是任意类型的数据或矩阵。

B=[1;2]
这就定义了一个cell型的变量B,里面保存的是一个矩阵[1;2]
要引用里面的数据只要在大括号里写上对应的下标即可,如
B1
下面我们给B再加个元素,我们可以这样定义
B(2)=\'hello\'
也可以利用引用的方法定义
B2=\'hello\'
第二种方法比第一种方法更方便所以更常用。
这样B就有两个元素了,B(1)是[1;2],B(2)是\'hello\',每个元素都是cell型的(注意和B1、B2的区别,B1是[1;2],B2是\'hello\')

cell函数是造元素为cell类型的矩阵
你这里A=cell(100,1)就是造了100行1列的cell矩阵。当然此时每个元素里什么都还没有。

然后
Ai.flag=-1;
Ai.status=zeros(1,13);
就开始定义每个元素里的数据了,可以看到每个cell里保存的都是结构型数据。
————————————————————————————
Ai.flag=-1;
Ai.status=zeros(1,13);
实际上并不是在Ai中储存了两个元素,而是储存了一个结构型数据。

matlab中共有六种数据类型,分别为数值、字符、逻辑、结构、细胞、类。
其中细胞就是你这里的cell类型数据。

Ai.flag=-1;
Ai.status=zeros(1,13);
实际上是在Ai中储存了一个结构类型数据,它有两个成员,一个名为flag、一个名为status,上面两句话只不过是对这同一个元素的两个成员进行赋值而已。

实际上我们也可以自己定义一个结构变量,比如
a.one=[1;2];
a.two=\'hello\';

a就是一个结构型的变量,它有两个成员,分别叫one和two。但请记住,a是一个变量,不是两个变量。
参考技术A 用char这个函数就可以了:
>> cs
cs =
'abc'
'defg'
'hi'

Matlab中cell类型转成str类型

在利用xlsread函数的时候,raw和txt图均为Cell类型,要进行转换为Str类型。

用char这个函数就可以了:

>> cs
cs =
‘abc‘
‘defg‘
‘hi‘
>> s = char( cs )
s =
abc
defg
hi
>> whos
Name Size Bytes Class Attributes
cs 3x1 198 cell
s 3x4 24 char

以上是关于matlab中cell类型怎么使用的主要内容,如果未能解决你的问题,请参考以下文章

matlab中不同维度的cell合并,不用for循环应该怎么做

matlabcell特征描述子怎么画

关于MATLAB cell元胞数组中元素的引用问题

MATLAB中cell函数用法

在matlab中,如何将struct类型转化为矩阵类型?

matlab如何将一个cell转换成数值型或字符串型