什么叫(1乘n)加(n乘1)操作?

时间:2017-05-05 20:56:37

标签: matlab

我偶然发现了加法运算符的意外行为。

a=[1 2 3]; 
b=[5; 7; 11];
a+b

可生产

ans =

     6     7     8 % a(1)+b(1) a(1)+b(2) a(1)+b(3)
     8     9    10 % a(2)+b(1) a(2)+b(2) a(2)+b(3)
    12    13    14 % a(3)+b(1) a(3)+b(2) a(3)+b(3)

此行为可能属于文档中的Add a Vector to a Matrix示例。

  

创建一个数组A,并向其添加列向量。矢量是   处理好像它是一个与A相同大小的矩阵,所以每个   向量中的元素被添加到A中的一行。

虽然我的示例中的b不能被视为与a相同的大小。两个向量都必须重复。

当我向其他人描述时,我可以将此行为称为什么? Matrix Addition的定义都不合适。 Vector addition也有不同的定义。我能想到的最好的是笛卡尔积中的元素总和"。

1 个答案:

答案 0 :(得分:3)

这称为二进制单例扩展。从R2016b开始,MATLAB使用标准运算符自动完成。有关详细信息,请参阅bsxfun