MATLAB 线向量 + 行向量 = 数组适用于 r2017a 但不适用于 r2016a

MATLAB Line vector + row vector = array works in r2017a but not in r2016a

我在 r2017a 版本中使用 + 运算符对线向量和行向量求和得到一个数组。

A​​ = [1 2]

B = [1;2]

C = A + B = [2 3; 3 4]

我试图 运行 我的代码在另一台装有 r2016a 版本的计算机上,但它不起作用。

我怎样才能简单地执行这个命令?

MATLAB 在 r2016b 中引入了一项新功能,可以在执行算术运算时自动将矩阵扩展到所需的维度。您可以阅读更多相关信息 here。因此,您的代码在 r2016a 中不起作用。在 r2016a 中的方法是这样的

C = bsxfun(@plus, A, B);

我没有r2017,这个操作逻辑错误 我想你是故意的

C=[A+B(1);A+B(2)]

而且绝对比函数快

你可以对更高维度使用for循环

for i=1:size(b,1)        
C=[A+B(i);A+B(i)];
end