主要内容

兼容数组大小,用于基本操作

大多数二进制(两输入)操作员和Matlab的函数®金宝app支持具有的数字阵列兼容尺寸。两个输入具有兼容大小的尺寸,如果每个维度,输入的尺寸大小是相同的或其中一个。在最简单的情况下,如果它们完全相同或者一个是标量,则两个阵列大小兼容。。MATLAB在执行元素-Wise操作或功能期间,使用兼容大小的兼容尺寸的阵列毫无兼容展开。

具有兼容尺寸的输入

2-D输入

这些是具有兼容尺寸的标量,矢量和矩阵的组合:

  • 两个完全相同大小的输入。

  • 一个输入是标量。

  • 一个输入是矩阵,另一个输入是具有相同行数的列向量。

  • 一个输入是列向量,另一个输入是行向量。

多维阵列

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

也可以看看

相关话题