2011-12-24 3 views
1

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

enter image description here

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

equation

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

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

Благодаря !!

+1

Можете ли вы также привести пример того, что вы ожидаете от ответа? –

+1

Хмм, я сомневаюсь. Я вообще не вижу никакого способа сделать это вручную либо для нетривиальных случаев ('a + b = c^(1/3)' в этом случае). – Blender

+0

Я знаю, как это сделать вручную, так как это легко, но есть уравнения, которые не могут быть выполнены вручную.Вот почему я думал, что есть функция для этого! –

ответ

3

Как указано в комментариях, вы не можете решить выражение. Но я знаю, что вы хотели спросить, как вы можете найти значение выражения (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. Substitute либо из них в состоянии,

    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

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

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 и работает поэтому только с полиномиальными уравнениями.

+0

Предполагая, что уравнения являются многочленными (так что 'Solve' подходит для использования) и принимает ту же догадку' (a + b) /. Solve [eq, {a, b}] 'дает желаемые результаты для примера:' {c^(1/3), - (1/2) (1 - I Sqrt [3]) c^(1/3), - (1/2) (1 + I Sqrt [3]) c^( 1/3)} '. Для общих полиномов, содержащих переменные 'a, b, c', результат, заданный для' a + b', будет функцией b и c. Чтобы получить 'a + b' как функцию a и c, используйте' (a + b) /. Решите [eq, {b, a}] '. – kglr