一个专注于计算机编程和硬件学习的博客主
8/1
2019

MATLAB入门(十三)

元胞数组

79.png

数组

  • 空数组
  • 标量
  • 向量(行向量,列向量)
  • 二维数组
  • 多维数组
    元胞数组
  • 每个元素称为一个元胞,元胞可以是任意类型,任意尺寸的数据.
  • cell

80.png

元胞数组的创建

  • 语法格式

    • 元胞数组名={元胞…元胞}

2*2元胞数组
输入:

a={rand(3,4),zeros(2,2);ones(2,2),rand(4,4)};

输出:

a = 

    [3x4 double]    [2x2 double]
    [2x2 double]    [4x4 double]

由元胞创建

  • 语法格式

    • 元胞数组名(指定索引)={元胞}

输入:

a(1,1)={rand(2,3)};
a(1,2)={ones(4,4)};
a(2,1)={zeros(6,6)};
a(2,2)={rand(4,5)};
a

输出:

a = 

    [2x3 double]    [4x4 double]
    [6x6 double]    [4x5 double]

由元胞内容创建

  • 语法结构

    • 元胞数组名{指定索引}=元胞内容

输入:

a{1,1}=rand(2,3);
a{1,2}=ones(4,4);
a{2,1}=zeros(5,6);
a{2,2}=rand(5,4);
a

输出:

a = 

    [2x3 double]    [4x4 double]
    [5x6 double]    [5x4 double]

使用celldisp显示元胞数组

  • 语法格式

    • celldisp(元胞数组)

输入:

a{1,1}=rand(2,3);
a{1,2}=ones(4,4);
a{2,1}=zeros(5,6);
a{2,2}=rand(5,4);
celldisp(a)

输出:

a{1,1} =
 
    0.6569    0.2920    0.0155
    0.6280    0.4317    0.9841

 
 
a{2,1} =
 
     0     0     0     0     0     0
     0     0     0     0     0     0
     0     0     0     0     0     0
     0     0     0     0     0     0
     0     0     0     0     0     0

 
 
a{1,2} =
 
     1     1     1     1
     1     1     1     1
     1     1     1     1
     1     1     1     1

 
 
a{2,2} =
 
    0.1672    0.3395    0.2691    0.9831
    0.1062    0.9516    0.4228    0.3015
    0.3724    0.9203    0.5479    0.7011
    0.1981    0.0527    0.9427    0.6663
    0.4897    0.7379    0.4177    0.5391

使用cellplot显示元胞数组

  • 语法格式

    • cellplot(元胞数组)

输入:

a{1,1}=rand(2,3);
a{1,2}=ones(4,4);
a{2,1}=zeros(5,6);
a{2,2}=rand(5,4);
cellplot(a);

81.png


使用大括号访问元胞数组

  • 语法格式

    • 元胞数组{下标}
    • 元胞数组{下标}(下标)

输入:

a{1,1}=rand(2,3);
a{1,2}=ones(4,4);
a{2,1}=zeros(5,6);
a{2,2}=rand(5,4);
a{1,1}
a{1,1}(1,1)

输出:

ans =

    0.5447    0.5439    0.5225
    0.6473    0.7210    0.9937


ans =

    0.5447

使用小括号访问元胞数组

  • 语法结构

    • 元胞数组(下标)

输入:

a{1,1}=rand(2,3);
a{1,2}=ones(4,4);
a{2,1}=zeros(5,6);
a{2,2}=rand(5,4);
a(1,1) 

输出:

ans = 

    [2x3 double]

输入:

a{1,1}=rand(2,3);
a{1,2}=ones(4,4);
a{2,1}=zeros(5,6);
a{2,2}=rand(5,4);
a(1,:) 
a(:,2)

输出:

ans = 

    [2x3 double]    [4x4 double]

ans = 

    [4x4 double]
    [5x4 double]

已有 2 条评论

  1. 123 123

    新人好啊

添加新评论