Matlab-元胞数组的索引

原创 2017年01月03日 12:48:52
%% 元胞数组的索引
C = {'one', 'two', 'three';
     1, 2, 3};
%% 1.Cell Indexing with Smooth Parentheses, () (操作数组本身)
% 1.
upperLeft = C(1:2,1:2)
% 2.
C(1,1:3) = {'first','second','third'}
% 3.If cells in your array contain numeric data, you can convert the cells to a numeric array using the cell2mat function:
% 将元胞数组中数值部分转化为矩阵
numericCells = C(2,1:3)
numericVector = cell2mat(numericCells)
%% 2.Content Indexing with Curly Braces, {} (操作数组里面的内容)
% 1.
last = C{2,3}
% 2.
C{2,3} = 300
% 3.access the contents of multiple cells
C{1:2,1:2}
[r1c1, r2c1, r1c2, r2c2] = C{1:2,1:2}
% MATLAB? creates a comma-separated list. 
% Because each cell can contain a different type of data, 
% you cannot assign this list to a single variable. 
% However, you can assign the list to the same number of variables as cells. 
% MATLAB assigns to the variables in column order
% 因为每一个元胞数组的内容不一样,所以不能将数据列在一个变量中,所以会按列的顺序分开列出所以的内容
% 4.当数据类型相同时,可以使用 [] 合并数据
nums = [C{2,:}]
% * 数组可以使用 {} 合并
% 5.元胞数组的赋值操作
[r1c1, r2c1, r1c2, r2c2] = C{1:2,1:2} % 对内容赋值
rc = {C{1:2,1:2}} % 对内容操作 + 合并内容
rc = C(1:2,1:2) % 对元胞数组进行操作赋值
r1c1 = C{1:2,1:2} % 这种操作只能将第一个赋过去
% 6.结构体中产生的元胞数组
imname = dir(['C:\Users\ncf\Desktop\' '*.doc']);%读入文件夹下的 doc ,imname 为结构体
file_all = {imname.name}; % imname.name 产生元胞数组(因为每一个文档的名字长度不同)
%% 3.多维数的操作
% 1.
myNum = [1, 2, 3];
myCell = {'one', 'two'};
myStruct.Field1 = ones(3);
myStruct.Field2 = 5*ones(5);

C = {myNum, 100*myNum;
     myCell, myStruct};
 
 C{1,2} 
 
 C{1,1}(1,2) % 操作元胞中矩阵
 
 C{2,1}{1,2} % 操作元胞中的元胞
 
 C{2,2}.Field2(5,1) 
 
 C{2,1}{2,2} = {pi, eps}; % 嵌入新的值, 对C{2,1}的元胞数组操作

版权声明:本文为博主原创文章,未经博主允许不得转载。

MATLAB中元胞数组的单元索引和内容索引

今天看gui的时候发现,对于一个元胞数组,有时候用括号索引,有时候用花括号索引,开始不是很理解,查了一下书,发现是单元索引和内容索引的问题。例如:A={'a';'b'};是一个元胞数组。如果我们使用括...
  • wsdadoudou
  • wsdadoudou
  • 2011年04月19日 16:15
  • 1974

MATLAB元胞数组

元胞数组:     元胞数组是MATLAB的一种特殊数据类型,可以将元胞数组看做一种无所不包的通用矩阵,或者叫做广义矩阵。组成元胞数组的元素可以是任何一种数据类型的 常数或者常量,每一个元素也...
  • pretend_b
  • pretend_b
  • 2010年10月28日 19:33
  • 7719

MATLAB 小知识 第二篇 元胞和构架

一、元胞是matlab中一个很重要的数据类型,是元胞
  • u014609362
  • u014609362
  • 2014年07月26日 16:24
  • 256

matlab入门 元胞数组

B{1,1}=[1,2]; B{1,2}='kitty'; B B =     [1x2 double]    'kitty' celldisp(B)   B{1} =     ...
  • qq_21970857
  • qq_21970857
  • 2015年03月19日 17:27
  • 617

matlab中元胞数组cell元素的表示方法

Matlab中的元胞数组cell相当于C/C++中的结构体这种数据结构,里面可以包含异构的基本数据类型,所以使用起来 功能很多。 cell可以是一维的,也可以是二维,更高维的,但对cell数...
  • interxuxing
  • interxuxing
  • 2012年05月29日 13:31
  • 2288

Matlab函数索引

一、常用指令(General Purpose Commands) 1.1 通用信息查询(General information) demo 演示程序 help 在线帮助指令 h...
  • zjxiaolu
  • zjxiaolu
  • 2015年04月05日 15:25
  • 1240

关于Matlab元胞结构体的赋值问题

此文仅将在Matlab调试过程中发现的一个易忽略的问题作一个记录。编程如下读取结构体target中的数据,target结构体如下所示: 代码如下: tr_ind=find(img.image...
  • u011501388
  • u011501388
  • 2017年10月27日 21:41
  • 94

元胞数组的用法

元胞数组是MATLAB 的一种特殊数据类型,可以将元胞数组看作一种无所不包的通用矩阵,或者叫作广义矩阵。组成元胞数组的元素可以是任何一种数据类型的常数或者常量,每一个元素也可以具有不同的尺寸和内存占用...
  • fandoudou123
  • fandoudou123
  • 2014年12月01日 21:26
  • 6634

3.2元胞数组

3.2元胞数组
  • renyuanxingxing
  • renyuanxingxing
  • 2017年04月08日 17:05
  • 395

MATLAB学习笔记

% Creation : 16-May-2017 9:50 % Last Revision : 16-May-2017 9:50 % Author : Lingyon...
  • forever__1234
  • forever__1234
  • 2017年05月19日 21:15
  • 1465
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Matlab-元胞数组的索引
举报原因:
原因补充:

(最多只允许输入30个字)