MATLAB——元胞數組


一、

1、元胞數組的創建

>>  a={'matlab',20;ones(2,3),1:10} a = 

    'matlab'        [         20] [2x3 double]    [1x10 double]>>  a={'matlab',20;ones(2,3),1:10}
>>  b=[{'matlab'},{20};{ones(2,3)},{1:10}] b = 

    'matlab'        [         20] [2x3 double]    [1x10 double]

a和b是等價的

>>  c={10} c = [10] 

>> c(2,2)={5}

c =

[10] []
[] [5]

>> c(1,2)={2}

c =

[10] [2]
[] [5]

clear all a={'matlab',20;ones(2,3),1:10} b=[{'matlab'},{20};{ones(2,3)},{1:10}] c={10} c(1,2)={2} c(2,2)={5} c(2,1)=3

賦值需用花括號,下標用小括號。

>> isequal(a,b) ans =

     1
>> whos Name Size Bytes Class Attributes a 2x2 596 cell ans 1x1 1 logical b 2x2 596 cell c 2x2 480  cell        
>> d=cell(3,3) d = [] [] [] [] [] [] [] [] []

2、元胞數組訪問

>> str=a(1,1) str = 

    'matlab'

>> class(str) ans = cell
>> str=a{1,1} str = matlab >> class(str) ans =

char
>> a{2,2} ans =

     1     2     3     4     5     6     7     8     9    10

>> a(2,2) ans = [1x10 double]

()和{}有着本質的區別,大括號用於表示元胞的內容,小括號表示指定的元胞。

>> a(2,2)(2) 錯誤: ()-索引必須顯示在索引表達式的最后。 >> a{2,2}(2) ans =

     2
>> b=c{2:3,2:3} b =

     5

>> b=c(2:3,2:3) b = [5]    [6] [8]    [9]

b相當於從c中獲取了四個元胞,用a的例子更好理解

>> d=a(2,:) d = [2x3 double]    [1x10 double]

>> d=a(2,2) d = [1x10 double] >> d=a{2,2} d =

     1     2     3     4     5     6     7     8     9    10

3、元胞數組的刪除和重塑

     要刪除單元數組中的行或列,可以用冒號表示單元數組中的行或列,然后對其賦一個空矩陣即可。

>> a={20,'matlab';ones(2,3),1:3}

a = 

    [        20]    'matlab'    
    [2x3 double]    [1x3 double]

>> a{1,2}=[]

a =

[ 20] []
[2x3 double] [1x3 double]

>> a{1,1}=[]

a =

[] []
[2x3 double] [1x3 double]

>> a={20,'matlab';ones(2,3),1:3} a = [ 20]    'matlab' [2x3 double]    [1x3 double] >> a(2) ans = [2x3 double] >> a(3) ans = 

    'matlab'

可以看出四個元胞數組的排序

>> a{4}=[] a = [ 20]    'matlab' [2x3 double] [] >> a(4)=[] a = [20]    [2x3 double]    'matlab'

刪除一個之后的重新排序。

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM