1. 程式人生 > >Matlab 中的cell型別

Matlab 中的cell型別

cell元包是matlab中提供的一種資料型別,功能強大。

關於cell的建立:

1.跟一般建立舉證一樣,直接使用C = {A B D E}這種形式,不過這裡把"[]"改成了}"{}"

2.使用cell建立cell,C= {C1 C2},這裡C1和C2都是cell型別,直接把C1 C2作為一個cell得到的C3是一個1x2的cell陣列;使用C3 = [C1 C2],是使用C1和C2的內容來建立cell陣列

3.使用cell函式,A=cell(2,2),建立一個空的2x2的cell矩陣.

關於cell的訪問:

1.X = C(s)使用這種"()"形式的返回的是cell型別

2.X = C{s}使用這種"{}"形式的返回的是cell中的內容

3.其他的基本上與通常的陣列.矩陣訪問一樣了

4.A{1,1}(2,3:end)訪問的是A中的第一個cell裡面內容的第2行的第三個元素以後的所有元素

5.A{1,3}.name訪問的是A中的A{1,3}cell裡面結構的name值

6.cell的圖形化顯示使用命令cellplot(A)即可

關於cell的刪除:

1.cell(1)=[]刪除第一個cell,不能使用cell{1}=[],這是把第一個cell內容置空沒有刪除

>>C4={C1,C2,C3}

C4 =

    {3x2 cell}    {3x3 cell}    {3x1 cell}

>> C4(1)=[]

C4 =

    {3x3 cell}    {3x1 cell} 

2.cell(:)=[]刪除所有的cell,其他的刪除一次類推
>> C4(:)=[]

C4 =

     {}

3.使用reshape重新reshape cell arrays

>> A={1,2,3}

A =

    [1]    [2]    [3]

>> B = reshape(A, 1, 3);
>> B = reshape(A, 3, 1);
>> B = reshape(A, 2, 6);
??? Error using ==> reshape
To RESHAPE the number of elements must not change

.
使用reshape需要保證前後調整後的元素個數一致,否則會報錯