2014 dxdy logo

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

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




 
 Большая система нелинейных обыкновенных диф. ур-й
Сообщение12.12.2012, 07:25 
Здравствуйте! Помогите, пожалуйста, найти спец. программу, которая может сделать такое в разумные сроки. Mathematica, matlab отпадают по причине медленности. Программа должна поддерживать скрипты, чтобы можно было все эти сотни уравнений задать автоматически(руками их писать - не вариант). Должна уметь работать в комплексных числах.

 
 
 
 Re: Большая система нелинейных обыкновенных диф. ур-й
Сообщение12.12.2012, 12:21 
Аватара пользователя
Morkonwen в сообщении #657317 писал(а):
Программа должна поддерживать скрипты, чтобы можно было все эти сотни уравнений задать автоматически

Можно сделать отдельный скрипт, который пишет кусок программы.
Или найти "препроцессор" для известных пакетов.

 
 
 
 Re: Большая система нелинейных обыкновенных диф. ур-й
Сообщение12.12.2012, 16:35 
Сами по себе алгоритмы численного решения ОДУ в математике достаточно эффективные. Когда уравнений много или ей не удается откомпилировать функции, это хуже. Или может быть медленно из-за того, что в системе большой размерности она пытается оценивать погрешность, выбирать длину шага и т.д. Но есть возможность явно указать, чтобы вычисления велись с фиксированным шагом, а также метод (Эйлера, Рунге-Кутты...). Конечно, тогда погрешность надо будет как-то отдельно оценивать, выбирать шаг и т.д., но зато мб будет быстрее.

 
 
 
 Re: Большая система нелинейных обыкновенных диф. ур-й
Сообщение12.12.2012, 17:23 
Аватара пользователя
Mathematica дифуры численно решает пачками, только успевай подбрасывать ;-) Morkonwen, почему вы столь уверены, что она «медленная»?

 
 
 
 Re: Большая система нелинейных обыкновенных диф. ур-й
Сообщение13.12.2012, 20:40 
Morkonwen в сообщении #657317 писал(а):
Здравствуйте! Помогите, пожалуйста, найти спец. программу, которая может сделать такое в разумные сроки. Mathematica, matlab отпадают по причине медленности...
Если Ваша система ОДУ - "жесткая" ("stiff"), то любой стандартный метод будет медленным.

Ссылки:

Solving Ordinary Differential Equations I: Nonstiff Problems
by Ernst Hairer, Syvert P. Norsett, Gerhard Wanner
2008

Solving Ordinary Differential Equations II: Stiff and Differential-Algebraic Problems
by Ernst Hairer, Gerhard Wanner
2004

Хайрер Э., Нёрсетт С, Ваннер Г.
Решение обыкновенных дифференциальных уравнений: Нежесткие задачи
1990

Хайрер Э., Ваннер Г.
Решение обыкновенных дифференциальных уравнений: Жесткие и дифференциально-алгебраические задачи
1999

Ракитский Ю.В., Устинов С.М., Черноруцкий И.Г.
Численные методы решения жестких систем
1979

 
 
 
 Re: Большая система нелинейных обыкновенных диф. ур-й
Сообщение17.01.2013, 21:09 
Yuri Gendelman в сообщении #658069 писал(а):
Если Ваша система ОДУ - "жесткая" ("stiff"), то любой стандартный метод будет медленным.

Неявные методы помогают этого избежать, но взамен приходится решать систему нелинейных уравнений. Но при решении систем нелинейных уравнений тоже может быть не всё хорошо, и придётся самому писать матрицу Якоби.

 
 
 [ Сообщений: 6 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group