主要内容

BSXFUN.

将元素-Wise操作应用于启用隐式扩展的两个阵列

描述

例子

c = bsxfun(<一种href="#bu903f1-fun" class="intrnllnk">乐趣那<一种href="#bu903f1-AB" class="intrnllnk">A,B应用函数句柄指定的元素-IIND二进制操作乐趣到阵列一种B.

例子

全部收缩

从矩阵的相应列元素中减去列均值一种。然后通过标准偏差标准化。

a = [1 2 10;3 4 20;9 6 15];c = bsxfun(@minus,a,均值(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.,由于运营商独立地支持具有兼容尺寸的阵列的隐式扩展。金宝app

(a  - 平均(a))./ std(a)
ans =.3×3-0.8006 -1.0000 -1.0000 -0.3203 0 1.0000 1.1209 1.0000 0

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

a = [8;17;20;24]
A =4×18 17 20 24
B = [0 10 21]
B =1×3.0 10 21.
c = bsxfun(@ gt,a,b)
C =4x3逻辑阵列1 0 0 1 1 0 1 1 0 1 1 1

创建表示该功能的函数句柄 F 一种 B. = 一种 - E. B.

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

使用BSXFUN.将功能应用于向量一种B.。这BSXFUN.功能将向量扩展为相同大小的矩阵,这是评估的有效方法乐趣对于许多输入组合。

a = 1:7;b = pi * [0 1/4 1/3 1/2 2/3 3/4 1]。';c = bsxfun(乐趣,a,b)
C =7×7.0 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 -1.1933 -0.1933 0.8067 1.8067 2.8067 3.8067 4.8067 -1.8497 -0.8497 0.1503 1.1503 2.1503 3.1503 4.1503 -3.8105 -2.8105 -1.8105 -0.8105 0.1895 1.1895 2.1895 -7.1205 -6.1205 -5.1205 -4.1205 -3.1205 -2.1205 -1.1205-9.5507 -8.5507 -7.5507 -6.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.tatmou.com/help/matlab/matlab_prog/compatible-array-sizes-for-basic-operations.html" class="a">兼容数组大小,用于基本操作。乐趣必须支持标金宝app量扩展,这样如果一种或者B.那是一个标量C是将标量应用于其他输入数组中的每个元素的结果。

在matlab.®R2016B及更高版本,此表中列出的内置二进制函数独立支持隐式扩展。金宝app使用这些功能,您可以直接调用函数或运营商而不是使用BSXFUN.。例如,您可以替换c = bsxfun(@ plus,a,b)A + B.

功能 象征 描述

+

-

时代

。*

阵列乘以

Rdivide.

./

正确的阵列鸿沟

LDIVIDE.

左阵列鸿沟

力量

。^

阵列权力

eq.

==.

平等的

NE.

〜=

不平等

GT.

>

比...更棒

GE

> =

大于或等于

LT.

<

少于

<=

小于或等于

元素明智的逻辑和

或者

|

元素明智的逻辑或

XOR.

N / A.

逻辑独家或

最大限度

N / A.

二进制最大值

N / A.

二元最小值

摩擦

N / A.

分裂后的模量

N / A.

依旧后分裂

atan2.

N / A.

四象限反正;导致弧度

atan2d.

N / A.

四象限反正;结果为程度

hyp

N / A.

平方根的平方根

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

数据类型:function_handle.

输入阵列,指定为标量,向量,矩阵或多维数组。输入一种B.必须具有兼容的尺寸。有关更多信息,请参阅<一种href="//www.tatmou.com/help/matlab/matlab_prog/compatible-array-sizes-for-basic-operations.html" class="a">兼容数组大小,用于基本操作。每当一个维度一种或者B.是单身(等于一个),BSXFUN.实际上沿着该维度复制阵列以匹配另一个数组。在维度的情况下一种或者B.是单例,另一阵列中的相应维度为零,BSXFUN.实际上将单身尺寸减少到零。

数据类型:单身的|双倍的|uint8.|uint16|UINT32.|UINT64|INT8.|int16|INT32.|INT64.|char|逻辑
复数支持:金宝app是的

尖端

  • 建议您替换大多数用途BSXFUN.直接调用支持隐式扩展的函数和运算符。金宝app与使用相比BSXFUN.,隐式扩展提供更快的执行速度,更好的内存使用率,提高代码可读性。有关更多信息,请参阅<一种href="//www.tatmou.com/help/matlab/matlab_prog/compatible-array-sizes-for-basic-operations.html" class="a">兼容数组大小,用于基本操作。

扩展能力

也可以看看

|

在R2007A介绍