Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Mathematica] Выборка корней системы уравнений


Автор: factorina 23.12.2011, 23:34
Помогите, пожалуйста! 
Дана система уравнений, я её решаю, получаю 8 корней. Мне нужен один! 
А конкретнее этот: 
{x -> ArcCos[1/Sqrt[1 + t^2]], V -> 1/(1 + t^2)^(1/4)}}
Как сделать так, чтобы программа выдавала только его??? Какие функции использовать,  что делать? Я совершенно не представляю, а зачет в понедельник...
f[
Код

in:
f1[x_,V_]:=-Sin[x] - t*V^2
f2[x_,V_]:=(V^2 - Cos[x])/V
m=Solve[{f1[x,V]==0,f2[x,V]==0},{x,V}]

out:
{{x -> -ArcCos[1/Sqrt[1 + t^2]], V -> -(1/(1 + t^2)^(1/4))}, 
  {x -> ArcCos[1/Sqrt[1 + t^2]], V -> -(1/(1 + t^2)^(1/4))}, 
  {x -> -ArcCos[-(1/Sqrt[1 + t^2])], V -> -(I/(1 + t^2)^(1/4))},
  {x -> ArcCos[-(1/Sqrt[1 + t^2])], V -> -(I/(1 + t^2)^(1/4))},
  {x -> -ArcCos[-(1/Sqrt[1 + t^2])], V -> I/(1 + t^2)^(1/4)},
  {x -> ArcCos[-(1/Sqrt[1 + t^2])], V -> I/(1 + t^2)^(1/4)},
  {x -> -ArcCos[1/Sqrt[1 + t^2]], V -> 1/(1 + t^2)^(1/4)},
  {x -> ArcCos[1/Sqrt[1 + t^2]], V -> 1/(1 + t^2)^(1/4)}}



Автор: Фантом 24.12.2011, 00:06
Что значит "мне нужен один"?  smile 

Это, собственно, намек. Вам надо сформулировать какой-то критерий, который отличает этот корень от остальных, и добавить этот критерий (надо полагать, это будет какое-то неравенство или несколько неравенств) в список уравнений решаемой системы.

Автор: factorina 24.12.2011, 21:25
Да, я понимаю. Но  функция Solve у меня не решает систему уравнений и неравенств. А вообще должна? Я пишу просто к примеру: 
Код

Solve[{f1[x,V]==0,f2[x,V]==0,V>0},{x,V}]

Может по-другому нужно?

Решает Reduce, но здесь другая проблема: 
Мне этот корень потом нужно подставить в частную производную функции в точке m, я пишу:
Код

Derivative[1,0][f1[x,V]][x/.m,V/.m]

Для Solve считает правильно, для Reduce ругается на ReplaceAll:reps

Автор: Фантом 24.12.2011, 21:44
Цитата(factorina @  24.12.2011,  22:25 Найти цитируемый пост)
Но  функция Solve у меня не решает систему уравнений и неравенств. А вообще должна?

Вообще-то она для этого и предназначена.  smile 

Автор: factorina 25.12.2011, 13:37
Тогда что я делаю не так? Ваши ответы пользу приносят нулевую)
Можно пример?

Я пишу:
Код

Solve[{f1[x,V]==0,f2[x,V]==0,V>0},{x,V}]

А в ответ:
Код

Solve::nsmet: This system cannot be solved with the methods available to Solve

м?

Автор: Фантом 25.12.2011, 14:42
Цитата(factorina @  25.12.2011,  14:37 Найти цитируемый пост)
Тогда что я делаю не так?

По-видимому, не осознаете математический смысл (буквально математический) того, что пытаетесь скормить Mathematica.

Цитата(factorina @  25.12.2011,  14:37 Найти цитируемый пост)
Я пишу:
1: Solve[{f1[x,V]==0,f2[x,V]==0,V>0},{x,V}]
А в ответ:
1: Solve::nsmet: This system cannot be solved with the methods available to Solve

Естественно. Посмотрите внимательнее на получавшиеся изначально корни. Про какой из них можно точно сказать, что V>0, при условии, что t неизвестно? Ни про какой. Сформулированное Вами дополнительное условие недостаточно.

Автор: factorina 25.12.2011, 16:35
Ладно другой вопрос. Как подставить полученный Reduce-ом корень в выражение для производной. Мне нужно найти производную в полученной точке.
Код

a=D[f1[x,V],V]

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)