在Matlab中找到一些满足一系列不等式的数字

时间:2017-10-24 16:05:02

标签: matlab

我想在Matlab中找到一些数字(以import.io命名),以满足一系列不等式(特别是16个不等式)。我希望Matlab继续搜索,直到找到这样的数字。我考虑过如下使用p11,..., p119,但它没有用。怎么了?我该怎么办?

while

1 个答案:

答案 0 :(得分:1)

while循环将在条件为true时运行。如果false它终止。您的测试条件为while .... ~= 15。这是false,因为最初的猜测导致了16个结果中的15个。由于15 ~= 15false,因此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

或跟踪该值的任何其他方式。