matlab - Matlab循环优化 - 逻辑索引
问题描述
下面的 matlab 代码存在严重的性能问题。它运行但循环需要很多时间,我想优化它。谁能帮我把它重写为逻辑索引?
非常感谢!
j = 0
for i = 1:n
if varA(i) < varB(i)
varC(i) = varD(i);
else
varC(i) = varB(i);
j = j + 1;
end
end
解决方案
通常,您的循环应等于以下代码段:
varC(varA < varB) = varD(varA < varB);
varC(varA >= varB) = varB(varA >= varB);
但是,我需要更多有关如何varA
、、varB
和查看的信息来验证此解决方案是否有效。varC
varD
推荐阅读
- ios - 仅从 2018 年 7 月开始的 iOS 11 应用程序
- sql-server - 无法解析 XML blob
- java - Android Studio - 与设备连接导致套接字关闭的问题
- python - 在一张图片中结合 sympy 和 matplotlib 图
- jython - 无法在 ExecuteScript 处理器中加载 ldap3 python 模块
- android - recyclerview项目的不同角半径
- r - 使用 R-package 'openxlsx' 从 Excel 表中提取链接
- mongodb - 如何使用用户名和密码在 Asp.Net Core 中访问 MongoDb?
- pandas - 当不能立即清楚什么是重复项时,附加一个没有重复项的数据框
- c++ - 通过增强几何从多边形(环)裁剪多边形(环)的一部分