2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Система нелинейных дифф уравнений
Сообщение11.03.2010, 07:27 


01/02/10
20
Здравствуйте, Друзья!
Возникла проблема с решением системы 18 нелинейных дифференциальных уравнений. Решал численными методами в программах Mathcad и MATLAB, если в маткаде, решая методом Rkadapt выдает ошибку "Can't converge to a solution. Try different guess values for the unknown initial conditions.", то в матлабе (создавал модель в симулинке) появляется ошибка "Derivative input 1 of '***' at time 0.5539780147834564 is Inf or NaN. Stopping simulation. There may be a singularity in the solution. If not, try reducing the step size (either by reducing the fixed step size or by tightening the error tolerances)."
Если есть какие нибудь предположения как можно решить систему (или с помощью чего) прошу немедленно отписываться ))

 Профиль  
                  
 
 Re: Система нелинейных дифф уравнений
Сообщение11.03.2010, 10:46 


22/12/07
229
Речь идёт о системе ОДУ? Задача Коши?
И если решать на промежутке времени до 0.5539780147834564, то решение есть?
Можете попробовать с разными шагами по времени посчитать и посмотреть, влияет ли выбор шага на решение. В Матлабе можно ещё точность подкрутить с помощью функции odeset.

 Профиль  
                  
 
 Re: Система нелинейных дифф уравнений
Сообщение11.03.2010, 12:29 
Экс-модератор


17/06/06
5004
 !  Сообщение пользователя romashechka906090 отделено :arrow: сюда.

 Профиль  
                  
 
 Re: Система нелинейных дифф уравнений
Сообщение11.03.2010, 19:46 


01/02/10
20
nckg в сообщении #296526 писал(а):
Речь идёт о системе ОДУ?

Да
Система приведена к нормальному виду, начальные условия пока большого значения не имеют, принимаем их нулевыми.
nckg в сообщении #296526 писал(а):
И если решать на промежутке времени до 0.5539780147834564, то решение есть?

Да, до этого момента в матлабе все красиво.
nckg в сообщении #296526 писал(а):
Можете попробовать с разными шагами по времени посчитать и посмотреть, влияет ли выбор шага на решение. В Матлабе можно ещё точность подкрутить с помощью функции odeset.

С шагами экспериментировал, тщетно. Про odeset не думал, завтра попробую, спасибо.

 Профиль  
                  
 
 Re: Система нелинейных дифф уравнений
Сообщение12.03.2010, 12:41 


01/02/10
20
nckg в сообщении #296526 писал(а):
В Матлабе можно ещё точность подкрутить с помощью функции odeset.

не нашел такой функции (( возможно речь идет о *.m файлах, а у меня схемы в *.mdl

 Профиль  
                  
 
 Re: Система нелинейных дифф уравнений
Сообщение12.03.2010, 21:55 


22/12/07
229
да, я про m-файлы.

Для симулинка вроде как в Configuration Parameters dialog box'е можно указать точность:
http://www.mathworks.com/access/helpdes ... #f11-44943
см. rtol --- Relative Tolerance и atol --- Absolute tolerance.
Возможно, эти параметры можно указать непосредственно у блока интегратора, см.
http://www.mathworks.com/access/helpdes ... rator.html

 Профиль  
                  
 
 Re: Система нелинейных дифф уравнений
Сообщение19.03.2010, 10:12 


01/02/10
20
Еще один момент.
Не могу решить уже систему 6 нелинейных уравнений... программы пишут то же самое. Пытался решать в Маткаде, Матлабе и Мэйпле... Обнаружил сильную зависимость от начальных условий, то есть при нулевых решает и ответ - 0, при ненулевых не решает совсем. Систему напишу как только освою TeX или как его там...

 Профиль  
                  
 
 Re: Система нелинейных дифф уравнений
Сообщение19.03.2010, 10:17 
Супермодератор
Аватара пользователя


29/07/05
8248
Москва
 i  Тема переносится из математического раздела в "Околонаучный софт"

 Профиль  
                  
 
 Re: Система нелинейных дифф уравнений
Сообщение19.03.2010, 10:27 
Заслуженный участник


09/01/06
800
А насколько страшная система? Вдруг ее можно аналитически решить?

 Профиль  
                  
 
 Re: Система нелинейных дифф уравнений
Сообщение19.03.2010, 20:32 


02/11/08
1187
А Вы уверены что Ваша система имеет решение и что задача корректна?

 Профиль  
                  
 
 Re: Система нелинейных дифф уравнений
Сообщение20.03.2010, 12:48 


22/09/09
275
Позвольте Вам посоветовать следующие действия.
1. Вычислите (можно численно) матрицу Якоби правых частей Ваших уравнений при Ваших начальных условиях.
Если на главной диагонали матрицы будут нули или очень малые значения (на уровне ошибки округления) то это будет означать что Ваша система неправильно сформирована(ищите ошибки в системе уравнений или в программе реализации).
2. Если с п.1 все в порядке, найдите собственные значения матрицы и проанализируйте их. Если спектр СЗ действительный, найдите отношение минимального СЗ к максимальному. Если эта величина очень мала (~0.000001) то обычные методы интегрирования непригодны и надо использовать методы для жестких систем ОДУ. Если спектр СЗ комплексный, то надо использовать неявные методы интегрирования ОДУ и стартовать с малого шага.
Вообще строить план матрицы Якоби очень полезно. Сразу видно, соответствует ли то, что запрограммировано физической сути задачи.
Например, появление в плане строк без нулевых (имеется в виду значащие цифры) значений должно наводить на мысль о переопределенности системы ОДУ (хотя и бывают исключения).

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

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



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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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