for循环里面加if判断,一直得不到我想要的结果。(使用Matlab)

我的想法是,i在100~1的倒序循环中,加个if判断,如果e_1<= 5e-0i(科学计数法,5×10负几次方),就把当前的i减去1赋值给n_1,如果不满足条件就继续做步长为-1的循环,代码如下。

for i=100:-1:1
if e_1 <= 5e-0i
n_1=i-1;
end
end

但是现在一直得不到我想要的结果,i都是减到 1直接退出了。是不是我科学计数法表示得有问题?

你好,你的5e-0i不能直接这么写(不能直接带变量名,数字表示法都是常数不能有诸如i之类的变量名存在),需要化成5乘以10的-i次方,即5*10^(-i)

for i=100:-1:1
if e_1 <= 5*10^(-i)
n_1=i-1;
end
end

有帮助望题主给个采纳支持一下答主答题哟(づ ̄3 ̄)づ╭❤~

加个break

for i=100:-1:1
    if e_1 <= 5*10^(-i)
        n_1=i-1;
        break
    end
end