我想在Matlab中找到一些数字(以import.io
命名),以满足一系列不等式(特别是16个不等式)。我希望Matlab继续搜索,直到找到这样的数字。我考虑过如下使用p11,..., p119
,但它没有用。怎么了?我该怎么办?
while
答案 0 :(得分:1)
while
循环将在条件为true
时运行。如果false
它终止。您的测试条件为while .... ~= 15
。这是false
,因为最初的猜测导致了16个结果中的15个。由于15 ~= 15
为false
,因此while
循环不会运行。
解决此问题的一种方法是从~=
更改为==
。这将贯穿并找到解决该问题的方法。
您可以通过创建一个名为tests
的变量并将其填充为以下内容来看到这一点:
tests = [(p11<=(p15+p19+p110+p111+p115+p116+p117+p119));...
... skipped a bunch of stuff ...
(p15+p16+p17+p18+p19+p110+p111+p112+p113+p114+p115+p116+p117+p118+p119==1)];
sum(tests)
ans = 15
或跟踪该值的任何其他方式。