MATLAB/通用循环,在循环内使用值



我对循环很困惑。

我希望这个MATLAB while循环在p中时停止循环与初始p相同。显然,我不能让p ~= p,否则循环不会开始,那么我该怎么做呢,因为原来的p用于循环

中的计算e。g如果p=18我想用它来计算a下一个p我将在while循环中使用但是我希望while循环在18是下一个p

时停止
p = input(prompt1)
q = input(prompt2)
while(??? ~= p)
a =floor((10*p)/q)
p= (10*p) -(an*q)
end

不存在p在循环内p在循环外。只有一个p。如果需要,可以在循环之前设置p_original = p;。然后,使循环成为一个无限循环,在结束时检查条件,如果满足条件,则跳出。

p = input(prompt1);
q = input(prompt2);
p_original = p;
while 1
a = floor((10*p)/q);
p = (10*p) - (an*q);
if p == p_original
break;
end
end

如果你不想要无限循环,添加一个变量来记录你是否进行了一次循环。在循环中,将其设置为false

first_loop = true;
while p ~= p_original | first_loop
a = floor((10*p)/q);
p = (10*p) - (an*q);
first_loop = false;
end

最新更新