【问题标题】:How to add a matrix and a vector in MATLAB considering positions如何在考虑位置的MATLAB中添加矩阵和向量
【发布时间】:2014-05-27 20:21:34
【问题描述】:

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

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

假设这个矩阵叫做 A(4x3):

A=[1 2 3;4 5 6;7 8 9;8 9 1];

这个向量数组叫做 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 vector matrix sum vectorization


    【解决方案1】:

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

    bsxfun(@plus,A,B)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-23
      • 1970-01-01
      • 2011-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多