matlab常用函式 資料型別函式

2021-10-05 21:07:46 字數 3404 閱讀 6973

三、基本資料型別函式

1)數值函式

double:轉換為雙精度浮點數

single:轉換為單精度浮點數

typecast:在不改變資料大小情況下轉換資料型別  y=typecast(x,type)

type可選範圍:'uint8'、'int8'、'uint16'、'int16'、'uint32'、'int32'、'uint64'、'int64'、'single'、'double'

arrayfun:把函式應用到陣列中的每個元素 a=arrayfun(fun, s)應用fun函式到陣列s中的每個元素,將結果返回給陣列a。

a=arrayfun(fun, s, t, …)

例項:

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:轉變量值資料型別  b=cast(a,newclass)

例項:

a=int16(2);

b=cast(a,'char');

cate=class(b)

cat:連線陣列   c=cat(dim, a,b)--cat(2,a,b)與[a,b]相同,cat(1,a,b)與[a;b]相同

class:建立物件或者返回物件型別   obj=class(s,'class_name')

find:尋找非零元素的索引和值 

ind=find(x);x可以是邏輯式,返回非零元素的索引

ind=find(x, k, 'first') 返回陣列x中所有非零元素的前k個元素。

ind=find(x, k, 'last')  返回陣列x中所有非零元素的後k個元素。

[row,col,v]=find(x,...)返回列向量,行向量,v表示非零值

isequal :判斷兩個物件是否相等 比較結構體是否相等時,結構體中子域的順序不重要  nans在此函式中認識不相等---isequal(a,b,...)相同返回1,不同返回0

isequalwithequalnans:把nan視為相等的情況下判斷兩個陣列是否相等

2)字串轉化數值函式 

base2dec :把指定進製的數字字串轉換為十進位制數  d=base2dec('strn', base)

bin2dec :把二進位制數字字串轉換為十進位制數  bin2dec(binarystr)

hex2dec :把十六進製制數字字串轉換為十進位制數  d=hex2dec('hex_value')

hex2num :把十六進製制數字字串轉換為雙精度浮點數 n=hex2num(s)

str2double :把字串轉換為雙精度浮點數

str2num :把字串轉換為數字

3)數值轉化為字串函式

dec2base:把十進位制數轉換為指定基下的數值字串 str=dec2base(d, base)

dec2bin :把十進位制數轉換為二進位制數值字串

dec2hex :把十進位制數轉換為十六進製制的數值字串

int2str :把整數轉換為字串

mat2str :把矩陣轉換為字串

num2str :把數字轉換為字串

四、高階資料型別函式

1)結構體函式

cell2struct :把元胞陣列轉換成結構體陣列 s=cell2struct(c, fields,dim) fields指結構體陣列的網域名稱,fields可以說字元陣列或者字串元胞陣列。

size(c,dim)==length(fields)%如果fields是元胞陣列 size

(c,dim)==size(fields,1)%如果fields是字元陣列

例項:

c=

feilds=;

s=cell2struct(c,fields,2)

struct:建立結構體陣列 s=struct('field1', values1, 'field2',values2, ...)

struct2cell :把結構體陣列轉換為元胞陣列

structfun :把函式應用於結構體中的每乙個子域 a=structfun(fun, s)

2)元胞陣列函式

cell :建立元胞陣列    c=cell(n)c=cell(m,n)

celldisp :顯示元胞陣列的內容

cellfun :把函式應用於元胞陣列中的每個元素  a=cellfun(fun, c, d,...)

cellplot :以圖形形式顯示元胞陣列的結構

例項:

c='2-by-2';c='eigenvalues ofeye(2)';

c=eye(2);c=eig(eye(2));

cellplot(c)

cellstr :根據字串陣列建立字串元胞陣列

mat2cell :把矩陣分割為元胞陣列  c=mat2cell(x,m, n)

num2cell :把數值陣列轉變為元胞陣列   c=num2cell(a)

3)字串函式

func2str :根據函式控制代碼構建函式名稱字串  s=func2str(fhandle)

char :把整數陣列轉化為字串  s=char(x)

eval :執行包含matlab表示式的字串  eval(expression)

findstr :在長字串中尋找匹配的短字串,返回字串索引

sprintf :把一定格式把資料寫入字串   [s, errmsg]=sprintf(format,a, ...)

strcat :水平連線字串   t=strcat(s1,s2, s3, ...)

strcmp,strcmpi :比較字串---strcmp('str1','str2')相同返回1,不同返回0

strings函式:連線字串name=['abc' 'def' 'ghj']

strread :從字串中讀取指定格式資料

strrep :發現和替換子字串   str=strrep(str1, str2, str3) ---將str1內的所有子字串str2替換為str3

strtrim :刪除字串開頭和結尾的空字元

blanks :建立空格字串陣列

isletter :判斷字串中字元是否為英文本母

isspace :判斷字串中字元是否為空格

isstrprop :判斷字串中是否含有指定類別的字元tf=isspace('str')

dblank :刪除字串末尾空格 

CONVERT 函式 資料型別轉換

convert 函式 資料型別轉換 功能 返回轉換成提供的資料型別的表示式。語法 convert data type,expression format style 引數 data type表示式將轉換成的資料型別。expression要轉換的表示式。format style對於將字串轉換為日期或時...

matlab常用函式 數學函式

六 基本數學函式 1 基本運算子 加法運算子 減法運算子 矩陣乘法 陣列乘法 斜槓或者矩陣右除 b a等於公式b inv a 陣列右除 a.b等於a i,j b i,j 反斜槓或者矩陣左除 a b等於inv a b 陣列左除 a.b等於b i,j a i,j 矩陣冪計算 陣列冪計算 a.b等於a i...

Matlab常用資料型別(一)

總結一下matlab的常用資料型別,消除對matlab的陌生感,方便以後查詢。matlab中,向量可以視為一維陣列,矩陣可以視為二維陣列,維數 2的都稱為多維陣列。第三維稱為 頁 第四維稱為 箱 a 1234 z cat 1,a,a 行並 z 123 4123 4 z cat 2,a,a 列並 z ...