当前位置:   article > 正文

bsxfun_bsxfun(@times

bsxfun(@times


参考: http://blog.sina.com.cn/s/blog_6ca002a50100wvu1.html

【功能描述】两个数组间元素逐个计算.

【应用场合】当我们想对一个矩阵A的每一列或者每一行与同一个长度相等的向量a进行某些操作(比较大小,乘除等)时,我们只能用循环方法或者利用repmat函数将要操作的向量a复制成和A一样尺寸的矩阵,进而进行操作。从MATLAB R2007a开始,再遇到类似的问题时,我们有了简洁高效的方法,即利用bsxfun函数。

【好处】 向量化编程,节省内存,同时速度提升。
【函数描述】C=bsxfun(fun,A,B):两个数组间元素逐个计算,fun是函数句柄或者m文件,也可以为如下内置函数 
         @plus 加 
         @minus 减 
         @times 数组乘 
         @rdivide 左除 
         @ldivide 右除 
For example: 如何将一个矩阵的每行或每列元素分别扩大不同的倍数?如[1 2 3;4 5 6 ;7 8 9],第一列元素乘以1,第二列元素以2,第三列元素乘以4。
利用bsxfun函数,可以给出下列代码:

a = [1,2,3;4,5,6;7,8,9];
acol = bsxfun(@times,a,[1 2 4])


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/902542
推荐阅读
  

闽ICP备14008679号