2014 dxdy logo

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

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




 
 Система неоднородных ДУ & Manipulate в Mathematica
Сообщение21.04.2017, 23:21 
Здравствуйте. В связи с моделирование процессов временного распада возникла необходимость иметь возможность посмотреть, как изменение различных скоростей распада в системе влияет на общий вид кинетики. В случае однородной системы $X'(t)=AX(t)$ все хорошо считается с матричной экспонентой, которая "запихивается" в Manipulate и все довольно бодро отображается в режиме реального времени. Теперь захотелось решать систему с неоднородной частью $X'(t)=AX(t)+f(t)$, которая отображала бы импульс накачки. Но частное решение в этом случае выглядит жутковато, т.к. нужно интегрировать произведение обратной матрицы $A^{-1}$ с функцией $f(t)$ и Manipulate уже не переваривает такой конструкции, начиная впадать в ступор. В связи с этим возник вопрос: как можно в Manipulate затащить функцию NDSolve, чтобы она автоматические пересчитывала численное решение системы при передвижении ползунков?

 
 
 
 Re: Система неоднородных ДУ & Manipulate в Mathematica
Сообщение21.04.2017, 23:56 
Аватара пользователя
Самая первая мысль: пересчитывать только то, что необходимо пересчитывать при переползывании. Остальное вышвырнуть из манипулятора.

 
 
 
 Re: Система неоднородных ДУ & Manipulate в Mathematica
Сообщение21.04.2017, 23:58 
Если кому-то интересно, то решается это так: Manipulate[Module[{NDsolve[неоднородная система ДУ]}],Plot[]],{var1},{var2}] :wink:

 
 
 
 Re: Система неоднородных ДУ & Manipulate в Mathematica
Сообщение22.04.2017, 00:02 
Аватара пользователя
Если кому-то интересно, то вот это вообще ему неинтересно, а и так понятно, а интересно этому кому-то то, что там записано кириллицей. И оформляйте, пожалуйста, код.
Да, и поползайте по Wolfram Demonstarions, там очень много хороших примеров, в том числе и по решению ДУ,

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


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