Как я могу решить уравнение с двумя переменными, где х является максимальным? - PullRequest
4 голосов
/ 21 июля 2011

Допустим, у меня есть уравнение - x ^ 2 + y ^ 2 = 100 - очевидно, существует более одного решения.
Я хочу, чтобы Mathematica 8 дала мне решение (где задействованы только натуральные числа), где x будет максимизировано (т.е. x = 10, y = 0)
Я довольно новичок в Mathematica - и действительно запутался в происходящем ...

1 Ответ

4 голосов
/ 21 июля 2011

Без явного запроса диофантов:

Maximize[{x , x^2 + y^2 == 100}, {x, y}]
(*
-> {10, {x -> 10, y -> 0}}
*)

Редактировать

Как видите, результатом является список из двух элементов. Первый элемент (10) - это значение для x (функция, для которой выполняется максимизация). Второй элемент - {x -> 10, y -> 0}, соответствующий правилам назначения переменных в точке максимума.

Обратите внимание, что здесь мы максимизируем x, поэтому значение 10 повторяется в обоих элементах, но это не всегда так, поскольку мы обычно хотим максимизировать общую функцию переменных, а не переменных самих себя.

В этом конкретном случае у нас есть два простых способа присвоить максимальное значение x n:

Использование первого элемента списка:

n = First@Maximize[{x , x^2 + y^2 == 100}, {x, y}]  

Или более общее, используя соответствующее правило:

n = x /. Last@Maximize[{x, x^2 + y^2 == 100}, {x, y}]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...