如何在MATLAB中考虑位置添加矩阵和向量

如何在MATLAB中考虑位置添加矩阵和向量,matlab,vector,matrix,sum,vectorization,Matlab,Vector,Matrix,Sum,Vectorization,我有这个小问题,希望你能帮助我 我的问题是,是否有办法在MATLAB中执行此操作: 假设该矩阵称为A(4x3): A=[1234;456;789;891] 这个向量数组叫做B(4x1): B=[1;3;5;0] 现在我要做的操作有点简单:A+B=C,其中C是: A + B = C C=[2 3 4;7 8 9;12 13 14;8 9 1] 如您所见,矩阵C的第一行是矩阵A的第一行与向量B的第一个值之间的和,它继续 我知道如何使用“for”使它变得简单,但我想知道是否

我有这个小问题,希望你能帮助我

我的问题是,是否有办法在MATLAB中执行此操作:

假设该矩阵称为A(4x3):

A=[1234;456;789;891]

这个向量数组叫做B(4x1):

B=[1;3;5;0]

现在我要做的操作有点简单:A+B=C,其中C是:

 A      +  B   =     C
C=[2 3 4;7 8 9;12 13 14;8 9 1]

如您所见,矩阵C的第一行是矩阵A的第一行与向量B的第一个值之间的和,它继续

我知道如何使用“for”使它变得简单,但我想知道是否有办法使它更快。

[对启用单例扩展的两个数组应用逐元素二进制操作]使用函数句柄
@plus
可能适合您。它允许
B
根据需要扩展到第二维度,以便使用
A
进行操作,后者已经是一个二维矩阵,从而为您提供所需的“求和”输出-

bsxfun(@plus,A,B)