如何在Matlab中基于对应索引对双变量H、R运行for循环
Matlab中按索引配对遍历H和R向量并存储结果的实现方法
方法1:循环实现(适用于grazingang不支持向量输入的场景)
先预分配结果数组的内存(比动态扩展数组效率更高),再遍历索引,每次取对应位置的H和R元素计算:
H = [0, 0.25, 0.5]; R = [1, 2, 3]; % 预分配与H同尺寸的结果数组 z = zeros(size(H)); for i = 1:length(H) z(i) = abs(grazingang(H(i), R(i))); end
方法2:向量化实现(推荐,若grazingang支持向量输入)
如果grazingang函数支持接收同长度的向量H和R,并按对应元素进行计算,直接用一行代码完成,效率远高于循环:
H = [0, 0.25, 0.5]; R = [1, 2, 3]; z = abs(grazingang(H, R));
注:若不确定
grazingang是否支持向量输入,可以先测试单个元素对的计算,再尝试向量输入验证结果是否匹配。
内容的提问来源于stack exchange,提问作者Scavenger23
相关产品推荐
相关产品推荐

