10/20/2006

字串及文字資料

MATLAB 資料結構之連結#links

處理字母(character)及字串(string)資料時,Matlab亦常使用陣列結構。任何一個變數均可置入文字。無論是字母或字串都要使用撇號前後括出來。例如:



>> str1='hello'

str1 =

hello

>> size(str1)

ans =

1 5

顯然,變數str1為一陣列的型式,故:

>> str1(2:4)

ans =

ell

>> a=double(str1) %利用double函數轉換為ASCII code

a =

104 101 108 108 111

>> s=char(a) %利用char函數可以將ASCII轉回字串

s =

hello

Char函數除可轉換ASCII為字母外,亦可以將不同長度之字串以最大的長度對齊,例如:

>> s=char('a','big','sky','that','kisses','the', 'ground.')

s =

a
big
sky
that
kisses
the
ground.

>> size(s)

ans =

7 7


>> s(4,1:7)

ans =

that

>> s' %將其轉置後,可以看到字串中完全以一個字一個位置

ans =

abstktg
ikhihr
gyaseo
ts u
e n
s d
.

>> C={'a','big','sky','that','kisses','the', 'ground.'} %也可以使用細胞陣列

C =

'a' 'big' 'sky' 'that' 'kisses' 'the' 'ground.'

>> CC=cellstr(s) %利用cellstr函數也可以轉為細胞陣列

CC =

'a'
'big'
'sky'
'that'
'kisses'
'the'
'ground.'

>> ss=char(C) %利用char函數再將細胞矩陣轉回字串矩陣

ss =

a
big
sky
that
kisses
the
ground.

沒有留言: