【问题标题】:Efficiently creating a certain matrix with MATLAB使用 MATLAB 高效地创建某个矩阵
【发布时间】:2014-06-22 19:02:15
【问题描述】:

我有一个 1 x n 向量 a 和一个 1 x m 向量 b。我想创建第 j 行是向量 a(j) * b 的 n x m 矩阵。我一直在 MATLAB 中使用

[M1, M2] = meshgrid(b, a);
M = M1.*M2

由于 n, m 在我的问题中非常大,我正在寻找让 MATLAB 执行此操作的最有效方法,我怀疑我的临时破解不是答案。提前感谢您的帮助!

【问题讨论】:

    标签: performance matlab matrix vectorization


    【解决方案1】:

    试试

    M = bsxfun(@times, a.', b);
    

    在我的计算机上,这比您为具有数千个元素的向量的原始代码快几倍。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-24
      • 2015-08-05
      • 2018-07-12
      相关资源
      最近更新 更多