Matlab中用到的bsxfun函数
来源:互联网 发布:通过软件收短信 编辑:程序博客网 时间:2024/06/05 19:16
bsxfun函数
最近在读dollar toolbox代码,该工具包是用matlab和c混编的,对其中的很多matlab函数不是很熟悉,有的更是查了忘,再见到再查,所以就在这里,边学习边整理,方便以后学习。
一、bsxfun函数是对矩阵中每个元素进行操作的函数,函数形式是C = bsxfun(fun,A,B),fun是代表要执行的运算,可以是下图中的任何一个,比如@plus
例1:
a=[1 2 3];
c=[1.1;1.9;3.1];
v=bsxfun(@min,a,c);
执行结果:
:
@min从名字上就可以看出,是比较大小,问题在于怎么比较,其实,它的比较规则跟错c*a是一样的,也就是和[1 2 3]*[1.1;1.9;3.1]规则一样,只不过对应元素不进行乘法运算,而是进行min,即取最小运算。
例2:
v就是例1的结果。@times是乘法运算,这里矩阵v和矩阵xstep都是3*3的,所以执行的就是对应元素相乘。
暂时只用到这两个函数,其它的函数应该都差不多的,有空可以试一下。
>> a=[1,2,3]a = 1 2 3>> b=[1.1 1.9 3.1]b = 1.1000 1.9000 3.1000>> c=b'c = 1.1000 1.9000 3.1000>> v=bsxfun(@min,a,c)v = 1.0000 1.1000 1.1000 1.0000 1.9000 1.9000 1.0000 2.0000 3.0000>> x=bsxfun(@times,v,10)x = 10 11 11 10 19 19 10 20 30>> xstep=[10 10 10;100 100 100;1000 1000 1000]xstep = 10 10 10 100 100 100 1000 1000 1000>> x=bsxfun(@times,v,xstep)x = 10 11 11 100 190 190 1000 2000 3000>> m=bsxfun(@min,a,b)m = 1.0000 1.9000 3.0000>> k=bsxfun(@minus,x,xstep)k = 0 1 1 0 90 90 0 1000 2000>> clear>> a=[1 2 3;4 5 6;4 2 1]a = 1 2 3 4 5 6 4 2 1>> xMin=min(a)xMin = 1 2 1>> xMax=max(a)xMax = 4 5 6>> cha=bsxfun(@minus,a,xMin)cha = 0 0 2 3 3 5 3 0 0>> xStep=(xMax-xMin)/10xStep = 0.3000 0.3000 0.5000>> a0=bsxfun(@times,cha,1./xStep)a0 = 0 0 4 10 10 10 10 0 0
0 0
- Matlab中用到的bsxfun函数
- Matlab的bsxfun函数
- matlab函数bsxfun的用法
- 无意中遇到的bsxfun函数—matlab
- 【Matlab开发】函数bsxfun的使用
- 无意中遇到的bsxfun函数—matlab
- matlab函数 bsxfun浅谈
- matlab函数 bsxfun浅谈
- matlab函数 bsxfun浅谈
- matlab函数 bsxfun
- matlab函数 bsxfun浅谈
- Matlab bsxfun函数解析
- matlab中 bsxfun函数
- matlab之bsxfun函数
- matlab函数之bsxfun
- Matlab bsxfun函数
- bsxfun函数-matlab
- matlab函数之bsxfun
- java review
- Windows Live Writer离线博客工具使用教程(适用于博客园、CSDN、51CTO等等博客)
- 粗糙的玩一玩javascript的"编译"(2)css也能"编译"?
- jdk1.7以后的switch可以匹配字符串
- 面试-百度大数据部门RD
- Matlab中用到的bsxfun函数
- 服务器
- centos7安装ntfs-3g以支持NTFS格式磁盘
- 几种常用通信协议
- IPython notebook
- 我的Android之旅(九)---Android读取电话,短信,网页,音乐等
- openwrt下判断应用程序有没有启动
- [CodeForces]-672A-Summer Camp
- 类的静态成员