performance - 使用 MATLAB 高效创建特定矩阵

标签 performance matlab matrix vectorization

我有一个 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/

相关文章:

python - 使用 numpy 求解一个未知数的线性系统?

c - 单位矩阵生成器用错误的值填充矩阵

performance - MATLAB 与其他使用容器的库的 Linux/Windows 性能比较

c# - 查找匹配字符串算法

javascript - 什么时候编译 JavaScript 正则表达式文字

Matlab代码性能计算。如何在 PC 上禁用多核以评估代码性能

matrix - 为什么我的视角变换结果是仿射的?

.net - 诊断 "Quota Exceeded"Win32Exception

c++ - 如何将 Mat H=findHomography 返回给 Matlab

matlab - Matlab将音频从模拟转换为数字