主要内容

bsxfun

对两个启用隐式展开的数组应用基于元素的操作

描述

例子

C = bsxfun (<一个href="#bu903f1-fun" class="intrnllnk">有趣的,<一个href="#bu903f1-AB" class="intrnllnk">A、B应用函数句柄指定的面向元素的二进制操作有趣的到数组一个B

例子

全部折叠

从矩阵的相应列元素中减去列的均值一个.然后用标准差进行归一化。

A = [1 2 10;3 4 20;9 6 15];C = bsxfun(@minus, A, mean(A));D = bsxfun(@rdivide, C, std(A))
D =3×3-0.8006 -1.0000 -1.0000 -0.3203 0 1.0000 1.1209 1.0000 0

在MATLAB®R2016b及后续版本中,可以直接使用运算符代替bsxfun,因为操作符独立地支持具有兼容大小的数组的隐式扩展。万博1manbetx

(A -意思是(A))。/性病(A)
ans =3×3-0.8006 -1.0000 -1.0000 -0.3203 0 1.0000 1.1209 1.0000 0

比较列向量和行向量中的元素。其结果是一个矩阵,其中包含来自向量的每个元素组合的比较。执行此操作的等效方法是使用A >

一个= [8;17;20;24)
一个=4×18 17 20 24
B = [0 10 21]
B =1×30 10 21
C = bsxfun (@gt A, B)
C =4 x3逻辑阵列1 0 0 1 1 0 1 1 1 1 1 1 1 1

创建一个表示该函数的函数句柄 f 一个 b 一个 - e b

Fun = @(a,b) a - exp(b);

使用bsxfun把函数应用到向量上一个b.的bsxfun函数将向量展开成相同大小的矩阵,是一种有效的求值方法有趣的输入的许多组合。

一个= 1:7;B = pi*[0 1/4 /3 / 2/3 /4 1];C = bsxfun(有趣,a, b)
C =7×71.1895 2.1895 -7.1205 -6.1205 -5.1205 -2.1205 -1.1205 -9.5507 -8.5507 -7.5507 -5.5507 -4.5507 -3.5507 -22.1407 -21.1407 -20.1407 -19.1407-18.1407 -17.1407 -16.1407

输入参数

全部折叠

要应用的二进制函数,指定为函数句柄。有趣的必须是二进制(双输入)元素的函数形式吗C =乐趣(A, B)接受数组一个B与兼容的大小。有关更多信息,请参见<一个href="//www.tianjin-qmedu.com/help/matlab/matlab_prog/compatible-array-sizes-for-basic-operations.html" class="a">基本操作的兼容数组大小.有趣的必须支持标万博1manbetx量展开,这样如果一个B是标量吗C是将标量应用于另一个输入数组中的每个元素的结果。

在MATLAB®在R2016b及后续版本中,表中列出的内置二进制函数独立支持隐式展开。万博1manbetx使用这些函数,您可以直接调用函数或操作符,而不是使用bsxfun.例如,你可以替换C = bsxfun (@plus A, B)A + B

函数 象征 描述
+

+

+

-

-

-

.*

数组相乘

rdivide

./

对数组划分

ldivide

.\

离开数组划分

权力

.^

数组权力

情商

==

平等的

~ =

不平等的

gt

>

大于

通用电气

>=

大于或等于

lt

<

不到

<=

小于或等于

Element-wise逻辑和

|

Element-wise逻辑或

xor

N/A

逻辑异或

bitand

N/A

位操作,

bitor

N/A

位操作或

bitxor

N/A

位操作XOR

马克斯

N/A

二进制最大

最小值

N/A

二进制最低

国防部

N/A

后模分裂

快速眼动

N/A

后剩下的部门

量化

N/A

四象限逆切;导致弧度

atan2d

N/A

四象限逆切;导致度

函数的

N/A

平方根的平方根

例子:C = bsxfun(@plus,[1 2],[2;3))

数据类型:function_handle

输入数组,指定为标量、向量、矩阵或多维数组。输入一个B必须有兼容的大小。有关更多信息,请参见<一个href="//www.tianjin-qmedu.com/help/matlab/matlab_prog/compatible-array-sizes-for-basic-operations.html" class="a">基本操作的兼容数组大小.当一个维度一个B是singleton(等于1),bsxfun实际上沿着该维度复制数组以匹配其他数组。在这个例子中一个B是单元素,而另一个数组中对应的维度为零,bsxfun实际上是将单例维度减少到零。

数据类型:||uint8|uint16|uint32|uint64|int8|int16|int32|int64|字符|逻辑
复数的支持:万博1manbetx是的

提示

  • 建议您替换的大部分用途bsxfun直接调用支持隐式展开的函数和操作符。万博1manbetx相对于使用bsxfun,隐式扩展提供了更快的执行速度,更好的内存使用,并提高了代码的可读性。有关更多信息,请参见<一个href="//www.tianjin-qmedu.com/help/matlab/matlab_prog/compatible-array-sizes-for-basic-operations.html" class="a">基本操作的兼容数组大小.

扩展功能

另请参阅

|

介绍了R2007a