решить выражение для уравнения - PullRequest
1 голос
/ 24 декабря 2011

Я хотел бы решить следующее выражение:

enter image description here

для следующего уравнения:

equation

Как?Есть ли функция для этого.Это был просто пример.

  • Решить выражение означает, что находит значение выражения путем подстановки в уравнение, поэтому a + b = c ^ (1/3)

Спасибо !!

Ответы [ 2 ]

3 голосов
/ 24 декабря 2011

Как указано в комментариях, вы не можете решить выражение.Но я догадываюсь , что вы хотели спросить, как вы можете найти значение выражения (a+b) с помощью ограничивающего уравнения (a^3 + 3 a^2 b + 3 a b^2 + b^3 == c).В общем, это невозможно - то есть для произвольного выражения, на которое наложено произвольное ограничение, нет гарантии, что выражение будет иметь одинаковое значение во всех точках, удовлетворяющих ограничению.

Что вы можете сделать иногда заключается в следующем: введите новую переменную для представления значения вашего выражения, решите полученное уравнение для одной из исходных переменных (возможно, вручную), а затем подставьте ее в условие.Например, в этом случае:

  1. Пусть x представляет значение a + b
  2. Решите уравнение a + b == x для a или b, даваяa = x - b или b = x - a
  3. Подставьте любое из них в условие:

    a^3 + 3 a^2 b + 3 a b^2 + b^3 == c /. a -> x-b // FullSimplify
    

Если ваше выражение (a + b) имеет значениеоно постоянно в наборе решений условия, и если Mathematica сможет упростить его, то вы получите результат, который не зависит от какой-либо переменной в выражении (a и b).В этом примере вы получите результат c == x^3, поэтому это так.

3 голосов
/ 24 декабря 2011

Мне не ясно, что вы, что, но я собираюсь сделать предположение и надеюсь, что это поможет.

expr = a + b;
eq = a^3 + 3 a^2 b + 3 a b^2 + b^3 == c;

PolynomialReduce[Subtract @@ eq, expr];

expr == FullSimplify[ -%[[2]] / %[[1, 1]] ]

Вывод:

a + b == c/(a + b)^2

Это зависит от PolynomialReduce и, следовательно, работает только с полиномиальными уравнениями.

...