2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 [Mathematica] Решение системы трансцендентных уравнений
Сообщение24.04.2013, 23:19 


24/04/13
11
Здравствуйте, возникла проблема со следующим решением:

F = (9/10 - (c - (c - b)(1 - a/c)))^2 +
(14/15 - (c - (c - b)(1 - a/c))^2)^2 + 
(19/20 - (c - (c - b)(1 - a/c))^3)^2 + 
(28/29 - (c - (c - b)(1 - a/c))^4)^2 +
(37/38 - (c - (c - b)(1 - a/c))^5)^2 + 
(49/50 - (c - (c - b)(1 - a/c))^6)^2 + 
(69/70 - (c - (c - b)(1 - a/c))^7)^2
при выполнении
Solve[{dF/da == 0, dF/db == 0, dF/dc == 0},{a,b,c}]

выдает ошибку Solve::nsmet: This system cannot be solved with the methods available to Solve.
\SubscriptBox[\(\[PartialD]\), \(a\)]F\ - dF/da

как решить данную систему уравнений?

 Профиль  
                  
 
 Re: wolfram mathematica. система трансцендентных уравнений
Сообщение25.04.2013, 00:16 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
Приведите, пожалуйста, полный код, оформив его тегом [code], а то ничего не понятно.

 Профиль  
                  
 
 Re: wolfram mathematica. система трансцендентных уравнений
Сообщение25.04.2013, 11:07 


24/04/13
11
Код:
F = (9/10 - (c - (c - b)*(1 - a/c)))\[Wedge]2 +
  (14/15 - (c - (c - b)*(1 - a/c))\[Wedge]2)\[Wedge]2 + (19/
      20 - (c - (c - b)*(1 - a/c))\[Wedge]3)\[Wedge]2 + (28/
      29 - (c - (c - b)*(1 - a/c))\[Wedge]4)\[Wedge]2 + (37/
      38 - (c - (c - b)*(1 - a/c))\[Wedge]5)\[Wedge]2 + (49/
      50 - (c - (c - b)*(1 - a/c))\[Wedge]6)\[Wedge]2 + (69/
      70 - (c - (c - b)*(1 - a/c))\[Wedge]7)\[Wedge]2
Solve[{\!\(
\*SubscriptBox[\(\[PartialD]\), \(a\)]F\) == 0, \!\(
\*SubscriptBox[\(\[PartialD]\), \(b\)]F\) == 0, \!\(
\*SubscriptBox[\(\[PartialD]\), \(c\)]F\) == 0}, {a, b, c}]

NDSolve[{D[F, a]== 0, D[F, b]== 0, D[F, c]== 0}, F, {a, b, c}]



Попробовал второй вариант, с NDSolve, он вроде бы точно отражает то, что мне надо. Но все равно выдается ошибка.

Нужно решить систему из трех уравнений, dF/da=0, dF/db=0, dF/dc=0, для нахождения a,b,c.

 Профиль  
                  
 
 Re: wolfram mathematica. система трансцендентных уравнений
Сообщение25.04.2013, 19:04 
Аватара пользователя


15/01/06
200
corrsten, неудивительно, у вас в коде возведение в степень почему-то превратилось в оператор Wedge. Это раз. Во-вторых, когда используете Solve, не надо дифференцировать по переменной решения, сначала продифференцируйте F, а потом подставьте производные в Solve. В качестве альтернативы Solve можно использовать NSolve, Solve может некоторые системы и не решить.
Про NDSolve ничего не понял, каким образом он подошел для решения этой задачи.

 Профиль  
                  
 
 Re: wolfram mathematica. система трансцендентных уравнений
Сообщение25.04.2013, 20:10 


24/04/13
11
Leierkastenmann, Спасибо за Ваш совет, попробую сделать таким образом.

 Профиль  
                  
 
 Re: wolfram mathematica. система трансцендентных уравнений
Сообщение03.05.2013, 14:54 


24/04/13
11
Почему то, такой подход не дает решения ни для одной из частных производных.
Как можно это побороть?
Код:
F = (9/10 - (c - (c - b)*(1 - a/c))^2 ) +
((14/15 - (c - (c - b)*(1 - a/c))^2)^2 ) + ((19/20 - (c - (c - b)*(1 - a/c))^3)^2 ) +
((28/29 - (c - (c - b)*(1 - a/c))^4)^2 ) + ((37/38 - (c - (c - b)*(1 - a/c))^5)^2 ) +
((49/50 - (c - (c - b)*(1 - a/c))^6)^2 ) + ((69/70 - (c - (c - b)*(1 - a/c))^7)^2 )

Solve[D[F, a] == 0, a]
Solve[D[F, b] == 0, b]
Solve[D[F, c] == 0, c]

 Профиль  
                  
 
 Re: wolfram mathematica. система трансцендентных уравнений
Сообщение03.05.2013, 16:02 
Аватара пользователя


15/01/06
200
corrsten, я запутался, вы сначала решали систему уравнений, теперь решаете отдельные уравнения. Все-таки в итоге, что надо - система или отдельные уравнения? И второй момент - уравнения 14-й степени по каждой из переменных, вы уверены, что из них можно получить аналитическую формулу? У меня математика прекрасно решает последний приведенный вами код и выдает решения, другое дело, что эти решения вы не представите в виде общепринятой формулы.

 Профиль  
                  
 
 Re: wolfram mathematica. система трансцендентных уравнений
Сообщение03.05.2013, 21:49 


24/04/13
11
Leierkastenmann, Нужно решить систему уравнений. Я хотел сначала продифференцировать по требуемым переменным, потом подставить результаты в Solve

 Профиль  
                  
 
 Re: wolfram mathematica. система трансцендентных уравнений
Сообщение04.05.2013, 09:49 
Аватара пользователя


15/01/06
200
corrsten, а вы уверены, что у системы не бесконечное число решений? Например $a=\frac{b c}{b-c}$, полученное из первого уравнения системы при подстановке в два других дает тождество.

 Профиль  
                  
 
 Re: wolfram mathematica. система трансцендентных уравнений
Сообщение05.05.2013, 01:13 


24/04/13
11
Leierkastenmann, насколько я понимаю, в результате значения переменных a,b,c должны иметь численное значение.

 Профиль  
                  
 
 Re: wolfram mathematica. система трансцендентных уравнений
Сообщение05.05.2013, 09:52 
Аватара пользователя


15/01/06
200
corrsten, должны, но не в данном конкретном случае. Я же вам привел пример, что эта система будет иметь бесконечное число решений. Берите любые b и с, вычисляйте для них a по формуле из предыдущего моего сообщения, вот вам и решения. Только учтите, что я привел только одно из соотношений для переменных, при которых получается бесконечное число решений.

 Профиль  
                  
 
 Re: wolfram mathematica. система трансцендентных уравнений
Сообщение05.05.2013, 20:17 


24/04/13
11
Leierkastenmann, я понял, большое спасибо за помощь.

 Профиль  
                  
 
 Re: [Mathematica] Решение системы трансцендентных уравнений
Сообщение15.05.2013, 11:17 


24/04/13
11
Leierkastenmann, а можно узнать, как Вы получили a из первого уравнения?

 Профиль  
                  
 
 Re: [Mathematica] Решение системы трансцендентных уравнений
Сообщение15.05.2013, 18:42 
Аватара пользователя


15/01/06
200
corrsten, очень просто
Код:
Solve[D[F, a] == 0, a]

Собственно и Вы, полагаю, тоже должны были это соотношение получить, у вас же где-то в сообщениях выше фигурировало это уравнение.

 Профиль  
                  
 
 Re: [Mathematica] Решение системы трансцендентных уравнений
Сообщение15.05.2013, 19:27 


24/04/13
11
Leierkastenmann, при выполнении
Код:
Solve[D[F, a] == 0, a]


программа выводит
Код:
{{a -> Root[<<26>> + (<<1>>)
\!\(\*SuperscriptBox[\(\[LeftSkeleton]2\[RightSkeleton]\), \(\
\[LeftSkeleton]2\[RightSkeleton]\)]\) + (-991800 b^11 c^2 -
         90253800 b^13 c^2 + 10909800 b^10 c^3 + <<29>> +
         991800 c^13 + 90253800 b^2 c^13) #1^11 + (15042300 b^13 c -
         180507600 b^12 c^2 + 992791800 b^11 c^3 -
         3309306000 b^10 c^4 + 7445938500 b^9 c^5 -
         11913501600 b^8 c^6 + 13899085200 b^7 c^7 -
         11913501600 b^6 c^8 + 7445938500 b^5 c^9 -
         3309306000 b^4 c^10 + 992791800 b^3 c^11 -
         180507600 b^2 c^12 +
         15042300 b c^13) #1^12 + (-1157100 b^13 + 15042300 b^12 c -
         90253800 b^11 c^2 + 330930600 b^10 c^3 - 827326500 b^9 c^4 +
         1489187700 b^8 c^5 - 1985583600 b^7 c^6 +
         1985583600 b^6 c^7 - 1489187700 b^5 c^8 +
         827326500 b^4 c^9 - 330930600 b^3 c^10 + 90253800 b^2 c^11 -
         15042300 b c^12 + 1157100 c^13) #1^13 &, 1]},

и так далее, а такого красивого ответа, как a=bc/(b-c) не получается.
Мне кажется я что-то упускаю, и не понимаю как получить a,b,c в подобном "красивом виде".
Подскажите, как это сделать?


а иногда при выполнении
Код:
Solve[D[F, a] == 0, a]


ничего не считает, и выдает только {{}}

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 19 ]  На страницу 1, 2  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: artur_k


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group