MATLAB裏的數據類型

1、數值型

  1. 整數
  2. 浮點數
  3. 複數

2、邏輯型:分別用1和0表示真和假兩種狀態

3、字符數組

     在matlab中,每個字符都用一個16位的Unicode編碼數值表示。8位的ASCII字符代碼集是Unicode字符代碼集的子集

  • 字符數組

使用char()函數可以創建m*n的字符數組,如用char函數創建二維字符數組

>> char('abcd','edf')

ans =

  2×4 char 數組

    'abcd'
    'edf '

注意,char會自動在短的字符數組後加上空格,用[]創建二維字符數組時,要手動的在短的字符串後加上空格,保證每行有相同的長度。

  • 字符串單元數組

字符串單元數組可以用{ }創建

>> week={'Sunday';'Monday';'Tuesday'}

week =

  3×1 cell 數組

    {'Sunday' }
    {'Monday' }
    {'Tuesday'}

4、結構數組

結構數組也稱位結構或結構體,是一種用字段來容納數據的MATLAB數組,結構數組的字段可以包含任何類型的數據

創建結構的兩種方法;

1) 使用(.)運算符。如創建一個名爲dafei的學生的成績信息:

>> student_information.name='qiao';
>> student_information.age='22'

student_information = 

  包含以下字段的 struct:

    name: 'qiao'
     age: '22'

 

如果再添加一個學生的信息可以這樣做:

>> student_information(2).name='chang';
>>  student_information(2).age='23'

student_information = 

  包含以下字段的 1×2 struct 數組:

    name
    age

注意:對於多維結構數組,不會在顯示每個字段的內容,只會顯示字段的名稱如name

2)利用struct函數創建結構數組。

用法:s=struct('field1','name1',field2','name2',...)

如:

>> s=struct('name',{{'qiao','chang'}},'age',[2,1])

s = 

  包含以下字段的 struct:

    name: {'qiao'  'chang'}
     age: [2 1]

>> s=struct('name',{'qiao','chang'},'age',[2,1])

s = 

  包含以下字段的 1×2 struct 數組:

    name
    age

5、單元數組

單元數組是一種特殊數組,單元數組的每一位可以存儲不同的數據。如A是一個單元數組,A{1}可以是一個字符串單元數組,A{2}可以是一個數字矩陣

創建單元數組有使用大括號{}和使用cell函數兩種方法

1)使用大括號賦值語句。

  • 單元索引(matlab裏單元索引要用()而不是【】)

 

單元索引
>> A(1)={{'ab','cd'}}';
A(2)={[1 2]};
A(3)={['ab';'cd']}

A =

  1×3 cell 數組

    {1×2 cell}    {1×2 double}    {2×2 char}
內容索引

>> A{1}={{'ab','cd'}}';
A{2}=[1 2];
A{3}=['ab';'cd']

A =

  1×3 cell 數組

    {1×1 cell}    {1×2 double}    {2×2 char}

注意:內容索引:賦值語句左邊,把單元的下 標放在{}中,右邊指定單元內容。

           單元索引:賦值語句左邊,把單元下標放在()中,右邊把單元內容放入花括號{}

2)使用cell函數初始化單元數組。

調用格式 格式說明
c=cell(n) 創建一個n*n的各單元爲空矩陣的單元數組
c=cell(m,n)  c=cell([m,n]) 創建一個m*n的各單元爲空矩陣的單元數組

c=cell(m,n,p,...) 

c=cell([m,n,p,...])

創建一個m*n*p...的各單元爲空矩陣的單元數組
c= cell(size(A)) 創建一個與A同維的各單元爲空矩陣的單元數組

 

>> c=cell(1,3)

c =

  1×3 cell 數組

    {0×0 double}    {0×0 double}    {0×0 double}

>> c(1)={{'qiao','chang'}}

c =

  1×3 cell 數組

    {1×2 cell}    {0×0 double}    {0×0 double}

>> c(2)={[1 2]}

c =

  1×3 cell 數組

    {1×2 cell}    {1×2 double}    {0×0 double}

>> c(3)={['b';'a']}

c =

  1×3 cell 數組

    {1×2 cell}    {1×2 double}    {2×1 char}

 

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