Matlab字符串函数
| 字? 符? 串? 轉(zhuǎn)? 換 | ? | ||||
| abs | 字符串到ASCII轉(zhuǎn)換 | ? | |||
| dec2hex | 十進(jìn)制數(shù)到十六進(jìn)制字符串轉(zhuǎn)換 | ? | |||
| fprintf | 把格式化的文本寫到文件中或顯示屏上 | ? | |||
| hex2dec | 十六進(jìn)制字符串轉(zhuǎn)換成十進(jìn)制數(shù) | ? | |||
| hex2num | 十六進(jìn)制字符串轉(zhuǎn)換成IEEE浮點數(shù) | ? | |||
| int2str | 整數(shù)轉(zhuǎn)換成字符串 | ? | |||
| lower | 字符串轉(zhuǎn)換成小寫 | ? | |||
| num2str | 數(shù)字轉(zhuǎn)換成字符串 | ? | |||
| setstr | ASCII轉(zhuǎn)換成字符串 | ? | |||
| sprintf | 用格式控制,數(shù)字轉(zhuǎn)換成字符串 | ? | |||
| sscanf | 用格式控制,字符串轉(zhuǎn)換成數(shù)字 | ? | |||
| str2mat | 字符串轉(zhuǎn)換成一個文本矩陣 | ? | |||
| str2num | 字符串轉(zhuǎn)換成數(shù)字 | ? | |||
| upper | 字符串轉(zhuǎn)換成大寫 | ? | |||
| eval(string) | 作為一個MATLAB命令求字符串的值 | ? | |||
| blanks(n) | 返回一個n個零或空格的字符串 | ? | |||
| deblank | 去掉字符串中后拖的空格 | ? | |||
| feval | 求由字符串給定的函數(shù)值 | ? | |||
| findstr | 從一個字符串內(nèi)找出字符串 | ? | |||
| isletter | 字母存在時返回真值 | ? | |||
| isspace | 空格字符存在時返回真值 | ? | |||
| isstr | 輸入是一個字符串,返回真值 | ? | |||
| lasterr | 返回上一個所產(chǎn)生MATLAB錯誤的字符串 | ? | |||
| strcmp | 字符串相同,返回真值 | ? | |||
| strrep | 用一個字符串替換另一個字符串 | ? | |||
| strtok | 在一個字符串里找出第一個標(biāo)記 | ? | |||
| ? | ? | ? | ? | ? | ? |
l????????這里函數(shù)num2str用來把數(shù)值轉(zhuǎn)換成字符串,字符串連接用來把所轉(zhuǎn)換的數(shù)嵌人到一個字符串句子中。按類似方式,int2str把整數(shù)轉(zhuǎn)換成字符串。無論是num2str還是int2str都調(diào)用函數(shù)sprintf,它用類似C語言語法把數(shù)值轉(zhuǎn)換成字符串。請注意函數(shù)str2num不能接受用戶定義的變量,也不能執(zhí)行轉(zhuǎn)換過程的算術(shù)運算。
?s='he is a student';
?a=abs(s)
a =
? Columns 1 through 12
?? 104?? 101??? 32??105?? 115??? 32??? 97??? 32?? 115?? 116??117?? 100
? Columns 13 through 15
?? 101?? 110?? 116
?num2str(a)
ans =
104? 101?? 32? 105? 115?? 32?? 97??32? 115? 116? 117? 100? 101? 110? 116
?int2str(s)
ans =
104? 101?? 32? 105? 115?? 32?? 97??32? 115? 116? 117? 100? 101? 110? 116
l????????函數(shù)disp允許不打印它的變量名而顯示一個字符串。
?disp(s)
he is a student
l????????函數(shù)find用來找出小寫字符的下標(biāo)值,然后,從小寫元素中只減去小寫與大寫之差,最后,用setstr把求得的數(shù)組轉(zhuǎn)換成它的字符串表示。
?find(s>'m')
ans =
???? 5???? 9??? 10??? 11??? 14??? 15
l????????函數(shù)input能輸入一個字符串: x=input('Enter anything > ',' s ') 。這里,在函數(shù)input里的附加參量’s’告訴MATLAB,作為一個字符串,只要把用戶輸入傳送到輸出變量,就不需要引號。事實上,如果將引號包括進(jìn)去,它們就變成返回字符串的一部分。
l????????無論fprintf還是sprintf以同樣方式處理輸入?yún)⒘?#xff0c;但fprintf把輸出送到顯示屏或文件中,而sprintf把輸出返回到一個字符串中。
l????????函數(shù)feval與eval類似,但在用法上有更多的限制。feval('fun ',x)求由字符串' fun '給定的函數(shù)值,其輸入?yún)⒘渴亲兞縳。即feval(' fun ',x)等價于求fun(x)值。函數(shù)eval,feval的基本用途限在用戶創(chuàng)建的函數(shù)內(nèi)。一般地,feval可求出有大量輸入?yún)⒘康暮瘮?shù)值,例如,feval(' fun ', x, y, z) 等價于求fun(x, y, z)值。
?feval('sin',s)
ans =
? Columns 1 through 7
?? -0.3216??? 0.4520??? 0.5514?? -0.9705??? 0.9454??? 0.5514??? 0.3796
? Columns 8 through 14
??? 0.5514??? 0.9454??? 0.2367?? -0.6897?? -0.5064??? 0.4520?? -0.0442
? Column 15
0.2367
?eval('sin(s)')
ans =
? Columns 1 through 7
?? -0.3216??? 0.4520??? 0.5514?? -0.9705??? 0.9454??? 0.5514??? 0.3796
? Columns 8 through 14
??? 0.5514??? 0.9454??? 0.2367?? -0.6897?? -0.5064??? 0.4520?? -0.0442
? Column 15
??? 0.2367
l????????字符串的比較:strcmp(s1,s2)
?strcmp(s,'he is a student')
ans =
???? 1
l????????檢查字符串
?isletter(s)
ans =
?Columns 1 through 12
???? 1???? 1???? 0???? 1???? 1???? 0???? 1???? 0???? 1???? 1???? 1???? 1
? Columns 13 through 15
???? 1???? 1???? 1
l????????查找字符串
?findstr(s,'a')
ans =
7
l????????大小寫的變換
?upper(s)
ans =
HE IS A STUDENT?
?lower('HE IS A STUDENT')
ans =
he is a student
出處:http://cs.nju.edu.cn/yangxc/dcc2003.files/matlab/matlab/5_2.htm
總結(jié)
以上是生活随笔為你收集整理的Matlab字符串函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Matlab字符串的基本操作
- 下一篇: Matlab之for循环语句