Matlab bsxfun函数
来源:互联网 发布:php ftp上传文件 编辑:程序博客网 时间:2024/04/30 00:47
bsxfun
两个数组间元素逐个计算.
语法:
C=bsxfun(fun,A,B)
函数描述:
两个数组间元素逐个计算,fun是函数句柄或者m文件,也可以为如下内置函数
@plus Plus
@minus Minus
@times Array multiply
@rdivide Right array divide
@ldivide Left array divide
@power Array power
@max Binary maximum
@min Binary minimum
@rem Remainder after division
@mod Modulus after division
@atan2 Four quadrant inverse tangent
@hypot Square root of sum of squares
@eq Equal
@ne Not equal
@lt Less than
@le Less than or equal to
@gt Greater than
@ge Greater than or equal to
@and Element-wise logical AND
@or Element-wise logical OR
@xor Logical exclusive OR
当我们想对一个矩阵A的每一列或者每一行与同一个长度相等的向量a进行某些操作(比较大小,乘除等)时,我们只能用循环方法或者利用repmat函数将要操作的向量a复制成和A一样尺寸的矩阵,进而进行操作。
举例:
1、利用bsxfun函数使矩阵A的每个元素减去所在列的均值
>> A=[1 2 5;3 5 6;2 8 7];>> C=bsxfun(@minus,A,mean(A))C = -1 -3 -1 1 0 0 0 3 1
2、矩阵的每行或每列元素分别扩大不同的倍数,如令矩阵A的第一列元素乘以1,第二列元素以2,第三列元素乘以4
>> A = [1,2,3;4,5,6;7,8,9];>> C = bsxfun(@times,A,[1 2 4])C = 1 4 12 4 10 24 7 16 36
3、@plus实现维数不同的矩阵相加
>> A=rand(3,1)A = 0.9549 0.0380 0.9789>> B=rand(1,3)B = 0.7888 0.9839 0.5633>> C=bsxfun(@plus,A,B)C = 1.7436 1.9387 1.5182 0.8268 1.0219 0.6013 1.7677 1.9628 1.5423这里bsxfun是这样执行的,如果A和B的大小相同,那么C=A+B。 但如果有某维不同,且A或B必须有一个在这一维的维数为1, 那么bsxfun就将少的这个虚拟的复制一些来使与多的维数一样。在我们这里,b的第一维只有1(只一行),所以bsxfun将b复制3次形成一个3×3的矩阵,同样也将a复制成3×3的矩阵。
即A会复制成
0.9549 0.9549 0.9549
0.0380 0.0380 0.0380
0.9789 0.9789 0.9789
B会复制成
0.7888 0.9839 0.5633
0.7888 0.9839 0.5633
0.7888 0.9839 0.5633
最后将以上两个复制后的矩阵相加得到C。
这个等价于C=repmat(A,1,3)+repmat(B,3,1)。
- matlab函数 bsxfun浅谈
- matlab函数 bsxfun浅谈
- matlab函数 bsxfun浅谈
- matlab函数 bsxfun
- matlab函数 bsxfun浅谈
- Matlab bsxfun函数解析
- matlab中 bsxfun函数
- matlab之bsxfun函数
- matlab函数之bsxfun
- Matlab的bsxfun函数
- Matlab bsxfun函数
- bsxfun函数-matlab
- matlab函数之bsxfun
- MATLAB中的bsxfun函数
- matlab学习笔记 bsxfun函数
- matlab函数bsxfun的用法
- matlab学习笔记 bsxfun函数
- matlab中的bsxfun函数简介
- 名人生卒年
- leetcode 12 Integer to Roman(整型数转换为罗马数字)
- java学习之路 之 基本语法-程序流程控制-(if-else)语句练习题
- 深入理解HTTP Session
- 石人眼 :执政党的目标不就是分给农民土地吗?
- Matlab bsxfun函数
- 线性回归学习笔记
- 我的linux学习:yum命令
- java学习之路 之 基本语法-程序流程控制-switch语句练习题
- localStorage会取代Cookie吗?
- 网络爬虫(二)--百度贴吧
- 记录一下常见的网络连接问题及解决方案
- 关于Linux grub加密禁止非密码用户进入单用户模式
- APP项目如何与插件化无缝结合(二)