Matlab資料型別轉換

2021-07-08 15:53:13 字數 3306 閱讀 2504

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

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=;

>> b=cell2mat(a)

b =sfjsdlgksdgjlsdjgkl

>> whos

name 

size 

bytes class 

attributes

a 1x1 

98 cell 

b 1x19 

38 char 

對cell陣列的操作函式

cell

:建立空的元胞陣列

cellfun

:為元胞陣列的每個元胞執行指定的函式

celldisp

:顯示所有元胞的內容

cellplot

:利用圖形方式顯示元胞陣列

cell2mat:將元胞陣列轉變成為普通的矩陣

mat2cell

:將數值矩陣轉變成為元胞陣列

num2cell

:將數值陣列轉變成為元胞陣列

deal

:將輸入引數賦值給輸出

cell2struct

:將元胞陣列轉變成為結構

struct2cell

:將結構轉變為元胞陣列

iscell

:判斷輸入是否為元胞陣列

cellfun

函式的主要功能是對元胞陣列的元素(元胞)分別指定不同的函式,不過,能夠在

cellfun

函式中使用的函式

ushuliang

是有限的。

能在cellfun

中使用的函式:

isempty

:若元胞元素為空,則返回邏輯真

islogical

:若元胞元素為邏輯型別,則返回邏輯真

isreal

:若元胞元素為實數,則返回邏輯真

length

:元胞元素的長

ndims

:元胞元素的維數

prodofsize

:元胞元素包含的元素個數

舉例: a=

a =

[             123]    'abcde'    

[1.0000 - 7.0000i]    [3x3 double]

>> b=cellfun('isreal',a)

b =1     1

0     1

>> c=cellfun('length',a)

c =1     5

1     3

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=;

>> 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 

7、字串陣列、cell細胞元素區別

例1:建立乙個字串陣列,記住補空格

>>s= ['abc '; 'defg';'hi

'] (下劃線代表空格)

s =abc

defg

hi>>whos s

name size bytes class

s 3x4 

24 chararray

例2:下面使用cellstr將字元陣列,轉換為3*1的cell細胞元組,此時尾部空格會自動刪除 :

>>c = cellstr(s)

c ='abc'

'defg'

'hi'

>>whos c

name size bytes class

c 3x1

294 

cellarray

例3:再使用char函式將cell字串轉換為字元陣列

>>char(c)

ans =

abcdefg

hi>> whos ans

name size bytes class attributes

ans 3x4 

24 char

MATLAB資料型別及轉換

matlab的主要資料型別有 整型,浮點型,邏輯,字元,日期和時間,結構陣列,細胞陣列及函式控制代碼等,其中函式控制代碼是matlab所特有的一種資料型別。一 整數型與浮點型 matlab提供了幾種常用整數型資料和浮點型資料的定義函式,如表所示 資料型別 函式類別 儲存空間 整數型int8 有符號8...

Matlab中資料型別轉換函式

資料型別轉換函式 char 字元陣列 cellstr轉換為字元向量元胞陣列 int2str將整數轉換為字元 mat2str將矩陣轉換為字元 num2str將數字轉換為字元陣列 str2double將字串轉換為雙精度值 str2num將字元陣列或字串轉換為數值陣列 native2unicode將數值位...

matlab資料型別

數字 字元與字串 都用單引號 s a str i love matlab machine learning.abs s 絕對值函式,可以用來檢視字元的ascii char 65 ascii轉換成字元 num2str 65 數字轉換成字串 3.矩陣 a 1 2 3 4 5 2 3 2 7 b a 轉置...