MATLAB中元胞数组的处理1

1.MATLAB中常用数据类型

(1)数值数据:整数int;单精度single;双精度double。

(2)字符数据:字符串char,eg: '456a','姓名'

(3)元胞数组:元胞cell,索引单元阵列,每个都能存储不同维数和数据类型的数组

eg: {'12a',5,[4 5 6]}

2.元胞数组的基本概念

元胞数组由不同元胞单元组成,每个单元存储着不同元素。

1.元胞数组的创建

%创建一行五列的元胞数组 
A={'我','want','V587',[1 2 3],{2}};

%显式存储
cellplot(A)

B={'我','want','V587';[1 2 3],{2},2};
cellplot(B)

 

2.元胞数组的访问

  • 访问元胞(含数据类型):圆括号 
  • 访问元胞里的元素:花括号 
  • 访问元胞数组里面 数组的某个元素:先花括号,再圆括号
B={'我','want','V587';[1 2 3],{2},2};

%访问元胞类型
>>B(1,2)
ans=
   'want'

>>B(2,1)
ans= 
   [1*3 double]

%访问元胞元素
B(2,1)
ans= 
   1 2 3

%元胞数组的第二行第一列:是一个矩阵,用圆括号再访问这个矩阵的第一行第二列
B{2,1}(1,2)
ans= 
   2

3.元胞数组的赋值与修改

  • 修改元素 B(1,3)={'V246'}; 

4.元胞数组元素的匹配与寻找

  • 字符串的匹配  strcmp(A,'a')
  • 数的匹配 ismenber([],[])
  • 混合:isequal  
%字符串的匹配
%在B中找‘我’,返回一个与B同型的矩阵,‘我’所在的位置为1,其他位置为0
>>strcmp(B,'我')
ans=
   1 0 0
   0 0 0

%返回索引,矩阵按列编号
>>Ind=find(strcmp(B,'want'))
ans= 
   3

%数组数字匹配
%第一个矩阵中元素是否在第二个矩阵中出现
%y与第一个矩阵同型,出现则为1,不出现为0;
%index与第一个矩阵同型,显式首次在第二个矩阵中出现的序号
>>[y,index]=ismember([1 2 3],[2 2 1 4])
y=
  1 1 0
index=
  3 1 0


%数字和字符串混合
%在B中找2所在的位置
>>Ind=find(cellfun(@(x) isequal(x,2),B))
ans=
   6

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值