Найдите дискретную пару {x, y}, которая удовлетворяет константам неравенства

У меня есть несколько неравенств относительно {x, y} , которое удовлетворяет следующим уравнениям:

x>=0
y>=0
f(x,y)=x^2+y^2>=100
g(x,y)=x^2+y^2<=200

Обратите внимание, что x и y должно быть целым числом.

Графически это можно представить следующим образом: синяя область - это область, которая удовлетворяет указанным выше неравенствам:

alt text

Теперь вопрос в том, существует ли какая-либо функция в Matlab, которая находит каждую допустимую пару {x, y} ? Если есть алгоритм, позволяющий делать такие вещи, я тоже был бы рад услышать об этом.

Конечно, мы всегда можем использовать метод грубой силы, при котором мы проверяем все возможные комбинации {x, y} , чтобы увидеть, выполняются ли неравенства. Но это последнее средство, потому что это требует времени. Я' Я ищу умный алгоритм, который сделает это, или, в лучшем случае, существующую библиотеку, которую я могу сразу использовать.

x ^ 2 + y ^ 2> = 100 и x ^ 2 + y ^ 2 <= 200 являются лишь примерами; в действительности f и g могут быть любыми полиномиальными функциями любой степени.

Изменить: приветствуется также код C #.

5
задан Amro 2 May 2012 в 14:19
поделиться