我对循环很困惑。
我希望这个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