1. 程式人生 > >matlab中的常用函式(二)

matlab中的常用函式(二)

整數型別資料的運算函式

一、bitshift 函式

bitshift函式實現資料位移操作。bitshift(A,B)函式第二個引數為正,則對A的二進位制數左移。第二個引數為負,則右移。bitshift(A,n,N),N表示移位後的資料最多隻有N為,若超過N位,多餘的位將被丟棄。例如bitshift(255,1),它的結果是510;bitshift(255,1,8)的結果是254。因為255轉化為二進位制數為11111111,向左移一位就為111111110,但是最多位數是8位,所以把最左邊那位丟棄,最後就是11111110,十進位制數就是254。

二、bitset函式

bitset函式將指定的資料位設定為1。bitset(A,n,i)將指定的第n資料位的值設定為i。第幾位是從右到左的數。若沒有i,則將相應的資料位設定為1。

三、bitget函式

bitget函式獲取指定資料位的數值。bitget(A,n)函式根據輸入的第二個引數n獲取指定的第n位的數值。第幾位是從右到左的數。

四、bitxor函式

bitxor函式實現資料位異或運算。

其他的函式

error(nargchk(1,5,nargin))這個語句中,存在著三個函式,首先介紹nargin函式。

matlab中定義一個函式時, 在函式體內部, nargin是用來判斷輸入變數個數的函式。nargchk(1,5,nargin),當nargin的值大於5,nargchk返回字串Too many input arguments. '當nargin的值小於1,nargchk返回字串not enough input arguments.當nargin的值在1到5之間,nargchk返回空字串。error以錯誤的方式,就是以紅色的字型顯示警告字串。

matlab中的近似函式

ceil函式是向上取整,也就是取不小於它的最小整數,floor是向下取整,也就是取不大於它的最大整數。round就是四捨五入。

setfield函式

設定結構陣列中指定的欄位的值。例如feature_idx = setfield(feature_idx,lbpname,[(ix_st+1):ix_end]'),指的是設定結構陣列中lbpname欄位的值為第三個引數代表的值,lbpname是字串。

std函式

std(x)求x的標準差。當x是一個向量的時候,就是求這個向量的標準差,利用公式

若x為一個矩陣,std(x)返回的是行向量,計算的是每列元素中的標準差。std(x,flag)當flag = 0的時候,與std(x)一樣,當flag=1的時候利用下面的式子計算標準差。

s = std(X,flag,dim),flag的功能同上,dim指定相應的維數,若X為二維矩陣,dim = 1指定計算每列元素的標準差,返回值是行向量。若dim = 2指定計算每行元素的標準差,返回值是列向量。

 getfield函式

getfield函式是讀取結構體陣列中相應欄位的值。value = getfield(struct, 'field'),就是讀取結構體struct中欄位field的值。

strfind函式 strfind(s1,s2)在s1中尋找s2,返回在s1中的位置。 findstr(s1,s2)在長的字串中尋找短的字串出現的次數,並返回在長字串中的位置。