1. 程式人生 > >Matlab三種陣列間的轉換

Matlab三種陣列間的轉換

三種陣列是:數值型矩陣,字元陣列(或字串),單元陣列(也有叫元胞陣列)

1、數值型矩陣轉換為字元陣列(num2str、mat2str)

>> A=[1,2,3;4,5,6];
>> B=num2str(A)

B =

1  2  3
4  5  6

>> whos
  Name      Size            Bytes  Class     Attributes

  A         2x3                48  double             
  B         2x7                28  char  

 

2、字元陣列轉換為數值型(str2num<4位精度>、str2double<雙精度>)

>> B=['123.34'];
>> A=str2num(B)

A =

  123.3400

>> whos
  Name      Size            Bytes  Class     Attributes

  A         1x1                 8  double             
  B         1x6                12  char   

 

3、單元陣列轉換為字元陣列(cell2mat):

例如:

>> A={'sfjsdlgksdgjlsdjgkl'};
>> B=cell2mat(A)

B =

sfjsdlgksdgjlsdjgkl

>> whos
  Name      Size            Bytes  Class    Attributes

  A         1x1                98  cell              
  B         1x19               38  char         

 

4、字元陣列轉換為單元陣列(cellstr)

>> A=['what';'edit';'play'];%注意:用A=[]生成字元陣列是,必須保證每行有相同的長度,不夠可用空格補
>> B=cellstr(A)

B =

    'what'
    'edit'
    'play'

>> whos
  Name      Size            Bytes  Class    Attributes

  A         3x4                24  char              
  B         3x1               204  cell    

 

5、單元陣列轉換為數值型矩陣

>> A={'123.4'};
>> B=cell2mat(A)

B =

123.4

>> C=str2num(B)

C =

  123.4000

>> whos
  Name      Size            Bytes  Class     Attributes

  A         1x1                70  cell               
  B         1x5                10  char               
  C         1x1                 8  double 

 

6、數值型矩陣轉換為單元陣列(num2cell)

>> A=[1,2,3;4,5,6];
>> B=num2cell(A)

B =

    [1]    [2]    [3]
    [4]    [5]    [6]

>> whos
  Name      Size            Bytes  Class     Attributes

  A         2x3                48  double             
  B         2x3               408  cell  


原文地址:http://blog.sina.com.cn/s/blog_5e73a8fc0100rrj6.html