作业帮 > 综合 > 作业

matlab不满足条件时循环

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/10/02 16:58:31
matlab不满足条件时循环
while语句是判断符合某条件后进入循环的对吧,那如果我想编一个程序,如果不能符合某条件的话才进入循环,这个可以实现么?比如我产生一组随机数,并且事先有一个范围,如果随机数落到这个范围内就算是符合条件,没落到这个范围内就算不符合条件,不符合条件的话就重新生成一个新的随机数,这样是用什么语句啊?
条件取否定的不就行了吗?
比如随机数是x
while xb
.
end
x落在区间[a,b]之外时就执行循环
再问: 额~条件比较多而且涉及到很多情况,因为我有10个区间,而且各个区间还相互嵌套,如果取否定的话太麻烦了,在条件前面直接加一个否定的符号’~‘好像也不管用
再答: randx=zeros(10,1);
for i=1:10
x=rand(1);
while ~(x>0.5)
x=rand(1);
end
randx(i)=x;
end
上面加个~可以用啊。多个区间应该也可以吧。我再测试下。
randx=zeros(10,1);
for i=1:10
x=rand(1);
while ~(~(x2/3)
x=rand(1);
end
randx(i)=x;
end
上面那个保证了随机数都落在[0,1/3]和[2/3,1]两个区间内。
这样应该说明,只要你能写出正的条件,外面加个括号,再加个~应该能取否定的吧。
再问: 恩~谢谢哈~我看看是不是在写的过程中出现了问题~谢谢你的回答啊~对我帮助很大~
再答: 不客气~