我有一个 1 x n 向量 a 和一个 1 x m 向量 b。我想创建 n x m 矩阵,其第 j 行是向量 a(j) * b。我一直在 MATLAB 中使用
[M1, M2] = meshgrid(b, a);
M = M1.*M2
由于 n、m 在我的问题中非常大,我正在寻找让 MATLAB 执行此操作的最有效方法,我怀疑我的临时 hack 不是答案。预先感谢您的帮助!
最佳答案
尝试
M = bsxfun(@times, a.', b);
在我的计算机上,这比您的包含数千个元素的向量的原始代码快几倍。
关于performance - 使用 MATLAB 高效创建特定矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24354671/