大多数二进制(两输入)操作员和Matlab的函数®金宝app支持具有的数字阵列兼容尺寸。两个输入具有兼容大小的尺寸,如果每个维度,输入的尺寸大小是相同的或其中一个。在最简单的情况下,如果它们完全相同或者一个是标量,则两个阵列大小兼容。。MATLAB在执行元素-Wise操作或功能期间,使用兼容大小的兼容尺寸的阵列毫无兼容展开。
这些是具有兼容尺寸的标量,矢量和矩阵的组合:
两个完全相同大小的输入。
一个输入是标量。
一个输入是矩阵,另一个输入是具有相同行数的列向量。
一个输入是列向量,另一个输入是行向量。
Matlab中的每个阵列都有大小的尾部尺寸1.对于多维阵列,这意味着3×4矩阵与大小3-×4-×1-1-1-1-1-1的矩阵相同。具有兼容尺寸的多维阵列的示例是:
一个输入是矩阵,另一个输入是具有相同数量的行和列的3-D阵列。
一个输入是矩阵,另一个输入是3-D阵列。尺寸是相同的,或者其中一个是1。
对于具有零尺寸大小的空阵列或阵列的规则是相同的。不等于1的尺寸的大小确定了输出的大小。这意味着具有零尺寸的尺寸必须与其他阵列中的大小1或0的尺寸配对,并且输出的尺寸大小为0。
答:1-by-0 b:3×1结果:3-by-0
不兼容的输入具有不能隐含扩展为相同的大小。例如:
其中一个尺寸尺寸不等于,也不是1。
答:3-by-2 B:4-by-2
两个不同时的非康拉尔行向量。
答:1-by-3 B:1-by-4
为了简化矢量矩阵操作,请使用尺寸函数的隐式扩展,例如和
那吝啬的
那闵
, 和别的。
例如,计算矩阵中每列的平均值,然后从每个元素中减去平均值。
A =魔术(3)
A = 8 1 6 3 5 7 4 9 2
c =平均值(a)
c = 5 5 5
A - C.
ANS = 3 -4 1 -2 0 2 -1 4 -3
行和列向量具有兼容大小,并且当您对其执行操作时,结果是矩阵。
例如,添加行和列向量。结果与bsxfun(@加,a,b)
。
A = [1 2 3 4]
ans = 1 2 3 4
B = [5;6;7]
ans = 5 6 7
A + B.
ANS = 6 7 8 9 7 8 9 10 8 9 10 11