You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求优化嵌套For循环生成m/n矩阵以降低时间复杂度

优化嵌套循环的向量化方案

你可以利用Matlab的广播机制实现完全向量化的矩阵填充,彻底消除嵌套循环,把时间复杂度降到接近O(m+n)的级别,代码如下:

M = 1:74;
N = 1:150;
matrix = M' ./ N;

原理说明:

  • M' 将行向量M转换为74×1的列向量,N是1×150的行向量
  • Matlab的广播机制会自动将两个向量扩展为74×150的矩阵:列向量复制150次匹配列数,行向量复制74次匹配行数,随后逐元素执行除法运算,完全对应原循环中matrix(m,n) = m/n的逻辑

效率对比:

原嵌套循环需要执行74×150=11100次迭代,每次迭代都要做索引寻址和赋值操作;而向量化操作直接调用Matlab底层优化的数值计算库,批量完成矩阵运算,不仅避免了循环的额外开销,实际执行效率远高于显式循环,尤其当向量维度更大时,性能提升会更显著。

内容的提问来源于stack exchange,提问作者impedance_gatto

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 12:48:16