matlab常用函数——数据类型函数
三、基本數(shù)據(jù)類型函數(shù)
1)數(shù)值函數(shù)
double:轉(zhuǎn)換為雙精度浮點(diǎn)數(shù)
single:轉(zhuǎn)換為單精度浮點(diǎn)數(shù)
typecast:在不改變數(shù)據(jù)大小情況下轉(zhuǎn)換數(shù)據(jù)類型??Y=typecast(X,type)
?????? type可選范圍:'uint8'、'int8'、'uint16'、'int16'、'uint32'、'int32'、'uint64'、'int64'、'single'、'double'
arrayfun:把函數(shù)應(yīng)用到數(shù)組中的每個(gè)元素 A=arrayfun(fun, S)應(yīng)用fun函數(shù)到數(shù)組S中的每個(gè)元素,將結(jié)果返回給數(shù)組A。
?????? A=arrayfun(fun, S, T, …)
實(shí)例:
?
x(1).f1=2;x(2).f1=3;
x(1).f2=3;x(2).f2=3;
result=arrayfun(@(x)isequal(x.f1,x.f2),x)
cast:轉(zhuǎn)變數(shù)值數(shù)據(jù)類型? B=cast(A,newclass)
實(shí)例:
?
?a=int16(2);
b=cast(a,'char');
cate=class(b)
?
cat:連接數(shù)組?? C=cat(dim, A,B)--cat(2,A,B)與[A,B]相同,cat(1,A,B)與[A;B]相同
class:創(chuàng)建對(duì)象或者返回對(duì)象類型 ??obj=class(s,'class_name')
find:尋找非零元素的索引和值?
?????? ind=find(X);X可以是邏輯式,返回非零元素的索引
?????? ind=find(X, k, 'first') 返回?cái)?shù)組X中所有非零元素的前k個(gè)元素。
?????? ind=find(X, k, 'last')? 返回?cái)?shù)組X中所有非零元素的后k個(gè)元素。
?????? [row,col,v]=find(X,...)返回列向量,行向量,v表示非零值
isequal :判斷兩個(gè)對(duì)象是否相等 比較結(jié)構(gòu)體是否相等時(shí),結(jié)構(gòu)體中子域的順序不重要? NaNs在此函數(shù)中認(rèn)識(shí)不相等---isequal(A,B,...)相同返回1,不同返回0
isequalwithequalnans:把NaN視為相等的情況下判斷兩個(gè)數(shù)組是否相等
?
2)字符串轉(zhuǎn)化數(shù)值函數(shù)?
base2dec :把指定進(jìn)制的數(shù)字字符串轉(zhuǎn)換為十進(jìn)制數(shù)??d=base2dec('strn', base)
bin2dec :把二進(jìn)制數(shù)字字符串轉(zhuǎn)換為十進(jìn)制數(shù)??bin2dec(binarystr)
hex2dec :把十六進(jìn)制數(shù)字字符串轉(zhuǎn)換為十進(jìn)制數(shù)??d=hex2dec('hex_value')
hex2num :把十六進(jìn)制數(shù)字字符串轉(zhuǎn)換為雙精度浮點(diǎn)數(shù)?n=hex2num(S)
str2double :把字符串轉(zhuǎn)換為雙精度浮點(diǎn)數(shù)
str2num :把字符串轉(zhuǎn)換為數(shù)字
?
3)數(shù)值轉(zhuǎn)化為字符串函數(shù)
dec2base:把十進(jìn)制數(shù)轉(zhuǎn)換為指定基下的數(shù)值字符串 str=dec2base(d, base)
dec2bin :把十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)值字符串
dec2hex :把十進(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制的數(shù)值字符串
int2str :把整數(shù)轉(zhuǎn)換為字符串
mat2str :把矩陣轉(zhuǎn)換為字符串
num2str :把數(shù)字轉(zhuǎn)換為字符串
?
四、高級(jí)數(shù)據(jù)類型函數(shù)
1)結(jié)構(gòu)體函數(shù)
cell2struct :把元胞數(shù)組轉(zhuǎn)換成結(jié)構(gòu)體數(shù)組?s=cell2struct(c, fields,dim) fields指結(jié)構(gòu)體數(shù)組的域名,fields可以說字符數(shù)組或者字符串元胞數(shù)組。
size(c,dim)==length(fields)%如果fields是元胞數(shù)組 size
(c,dim)==size(fields,1)%如果fields是字符數(shù)組
實(shí)例:
?
?c={'Tom','math',80;'Jane','math',70}
feilds={'name','subject','grade'};
s=cell2struct(c,fields,2)
struct:創(chuàng)建結(jié)構(gòu)體數(shù)組 s=struct('field1', values1, 'field2',values2, ...)
struct2cell :把結(jié)構(gòu)體數(shù)組轉(zhuǎn)換為元胞數(shù)組
structfun :把函數(shù)應(yīng)用于結(jié)構(gòu)體中的每一個(gè)子域?A=structfun(fun, s)
?
2)元胞數(shù)組函數(shù)
cell :創(chuàng)建元胞數(shù)組??? c=cell(n)c=cell(m,n)
celldisp :顯示元胞數(shù)組的內(nèi)容
cellfun :把函數(shù)應(yīng)用于元胞數(shù)組中的每個(gè)元素??A=cellfun(fun, C, D,...)
cellplot :以圖形形式顯示元胞數(shù)組的結(jié)構(gòu)
實(shí)例:
?
?c{1,1}='2-by-2';c{1,2}='eigenvalues ofeye(2)';
c{2,1}=eye(2);c{2,2}=eig(eye(2));
cellplot(c)
?
cellstr :根據(jù)字符串?dāng)?shù)組創(chuàng)建字符串元胞數(shù)組
mat2cell :把矩陣分割為元胞數(shù)組? c=mat2cell(x,m, n)
num2cell :把數(shù)值數(shù)組轉(zhuǎn)變?yōu)樵麛?shù)組?? C=num2cell(A)
?
3)字符串函數(shù)
func2str :根據(jù)函數(shù)句柄構(gòu)建函數(shù)名稱字符串??s=func2str(fhandle)
char :把整數(shù)數(shù)組轉(zhuǎn)化為字符串? S=char(X)
eval :執(zhí)行包含MATLAB表達(dá)式的字符串??eval(expression)
findstr :在長字符串中尋找匹配的短字符串,返回字符串索引
sprintf :把一定格式把數(shù)據(jù)寫入字符串?? [s, errmsg]=sprintf(format,A, ...)
strcat :水平連接字符串?? t=strcat(s1,s2, s3, ...)
strcmp,strcmpi :比較字符串---strcmp('str1','str2')相同返回1,不同返回0
strings函數(shù):連接字符串name=['abc' 'def' 'ghj']
strread :從字符串中讀取指定格式數(shù)據(jù)
strrep :發(fā)現(xiàn)和替換子字符串?? str=strrep(str1, str2, str3) ---將str1內(nèi)的所有子字符串str2替換為str3
strtrim :刪除字符串開頭和結(jié)尾的空字符
blanks :創(chuàng)建空格字符串?dāng)?shù)組
isletter :判斷字符串中字符是否為英文字母
isspace :判斷字符串中字符是否為空格
isstrprop :判斷字符串中是否含有指定類別的字符tf=isspace('str')
dblank :刪除字符串末尾空格?
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的matlab常用函数——数据类型函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WPF vs2015,vs2012 添加
- 下一篇: matlab常用函数——矩阵函数