整数类型数据的运算函数
一、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)在长的字符串中寻找短的字符串出现的次数,并返回在长字符串中的位置。