MATLAB小經驗積累(1)()與{}一點小區別

假設我們要對矩陣分塊

>> yu1515 = randi([0 255], [16 16])

yu1515 =

    20   168   209   104     2   157   123   217    90   199   102    76   134   227   163   219
   104   225   171   153    30     9    44   207   194   170    80   147    67    47   199   129
   111   183   239   220    14    95    96     7   251    71    95   246   155    73    87   186
    43    61   150    16   191    96   200   163    97   104    11   239   122   119   127   233
   145   250   210   190   238   150    60   239   250    83    30   187   177   208   101   230
   244    67   164   140     9    56   197   131    20   230     3   205   108    83   212   231
    91    16   228   120    34   162    19    43   102   104    92    50    51   200    98   181
   127    93   194   123    46    55    68   162    44   165   178   127   227   138   236   250
   246    83   201    53   220    17    32   177   123   180   185   199   186   219   100   174
   250    81    99   170    93   170    98   250    20    24    66   191   185   238   153   133
    56    64   185   156   142   230   210   204     6    89   213    14   160    88    79   197
   224    13    84   251   212   254    66   105   143   180   128   181    21   138    67   199
    57     7   189    20   152   171    22   196   107   117   120    11   106   220   227    87
   121    60    46   156    13   238     9    94    59   155    44    49    29    23   133    31
   222   186    65   197   193   141    98   246    16    53    38   128    36    17   154   144
   231   186    31    71   187   176   180   137     3   137   119    29    33   254   155    56

我們將它分成1個4*4的cell,用mat2cell函數:

>> yu1516 = mat2cell(yu1515, [4 4 4 4]', [4 4 4 4]')

yu1516 = 

    [4x4 double]    [4x4 double]    [4x4 double]    [4x4 double]
    [4x4 double]    [4x4 double]    [4x4 double]    [4x4 double]
    [4x4 double]    [4x4 double]    [4x4 double]    [4x4 double]
    [4x4 double]    [4x4 double]    [4x4 double]    [4x4 double]

那索引的時候如果用(),如yu1516(2, 3)得到的是一個cell;如果用{}, 如yu1516{2, 3},得到的是一個矩陣:

>> yu1517 = yu1516(2,3)

yu1517 = 

    [4x4 double]

>> yu1518 = yu1516{2,3}

yu1518 =

   250    83    30   187
    20   230     3   205
   102   104    92    50
    44   165   178   127

>> whos yu1517 yu1518
  Name        Size            Bytes  Class     Attributes

  yu1517      1x1               240  cell                
  yu1518      4x4               128  double     




 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章