DOFOR伪代码转MATLAB疑问:n-2后数字2的含义及循环实现
伪代码DOFOR语句步长参数解析与MATLAB实现修正
- 伪代码中的
DOFOR i = 1, n-2, 2,最后一个数字2是循环步长,意思是循环变量i从1开始,每次递增2,直到i的取值不超过n-2。 - 你之前用
i=1:n-2是步长为1的循环,和原伪代码的循环逻辑完全不符,这就是计算结果D出错的直接原因。 - 对应的MATLAB正确循环写法应为:
for i = 1 : 2 : n-2
举个实际例子:如果n=5,原伪代码的循环i取值为1、3;而步长为1的循环i取值是1、2、3,循环次数和变量取值范围都不同,后续计算逻辑自然会偏离预期,导致错误结果。
内容的提问来源于stack exchange,提问作者kyle23011
相关产品推荐
相关产品推荐

