решить систему дифференциальных уравнений

решить систему дифференциальных уравнений - Сообщения

#1 Опубликовано: 02.08.2011 00:07:40
ibsh

ibsh

0 сообщений из 3 понравились пользователям.

Группа: User

Здравствуйте.

Прошу помочь можно ли в текущей версии Smath Studio
решить систему дифференциальных уравнений, описывающих
химическую реакцию вида
A -> B -> C

dCA/dt = -k1*CA
dCB/dt = k1*CA-k2*CB
dCC/dt = k2*CB

где CA, CB, CC - концентрации веществ
k1, k2, k3 - константы скоростей химической реакции (известны)
t - время

Как это сделать в данной программе ?





Ранее делал в Maxima - листинг прилагаю

/* [wxMaxima batch file version 1] [ DO NOT EDIT BY HAND! ]*/
/* [ Created by wxMaxima version 0.7.4 ] */

/* [wxMaxima: input start ] */
atvalue(A(t),t=0,1);
/* [wxMaxima: input end ] */

/* [wxMaxima: input start ] */
atvalue(B(t),t=0,0);
/* [wxMaxima: input end ] */

/* [wxMaxima: input start ] */
atvalue(C(t),t=0,0);
/* [wxMaxima: input end ] */

/* [wxMaxima: input start ] */
desolve([diff(B(t),t)=k1*A(t)-k2*B(t),
diff(C(t),t)=k2*B(t),
diff(A(t),t)=-k1*A(t)],
[B(t),C(t),A(t)]);
/* [wxMaxima: input end ] */

/* Maxima can't load/batch files which end with a comment! */
"Created with wxMaxima"$
#2 Опубликовано: 02.08.2011 17:38:15
Медведев Виктор

Медведев Виктор

13 сообщений из 157 понравились пользователям.

Группа: User

Стандартных функций для решения дифуров в SMath пока нет. Есть в примерах решение дифура второго порядка методом Рунге-Кутта пятого порядка. Может, что-то возьмете оттуда.
#3 Опубликовано: 02.08.2011 17:52:08
Radovan Omorjan

Radovan Omorjan

325 сообщений из 2052 понравились пользователям.

Группа: Moderator

Wrote

Стандартных функций для решения дифуров в SMath пока нет. Есть в примерах решение дифура второго порядка методом Рунге-Кутта пятого порядка. Может, что-то возьмете оттуда.



Попробуйте ODEsolvers.dll плагин. Есть rkfixed и Rkadapt как в Mathcad. Надеюсь, что будет окончательная версия этого плагина.

Попробуйте Batch reactor пример

С уважением,
Радован
When Sisyphus climbed to the top of a hill, they said: "Wrong boulder!"
1 пользователям понравился этот пост
Andrey Ivashov 02.08.2011 19:37:00
#4 Опубликовано: 03.08.2011 12:31:32
уни

уни

156 сообщений из 355 понравились пользователям.

Группа: User

Что-то вроде этого (используя ODEsolvers.dll):

Россия навсегда! Вячеслав Мезенцев
4 пользователям понравился этот пост
ibsh 03.08.2011 13:10:00, Andrey Ivashov 03.08.2011 14:58:00, Radovan Omorjan 03.08.2011 15:20:00, Медведев Виктор 03.08.2011 18:42:00
#5 Опубликовано: 03.08.2011 16:09:58
ibsh

ibsh

0 сообщений из 3 понравились пользователям.

Группа: User

Тогда вопрос как данный плагин ODEsolvers.dll
поключить к данной версии SMathStudioDesktop.0_89.8.Portable.exe ?
#6 Опубликовано: 03.08.2011 17:34:13
уни

уни

156 сообщений из 355 понравились пользователям.

Группа: User

Просто скопировать файл в папку Plugins и перезапустить программу. Всё.
Россия навсегда! Вячеслав Мезенцев
#7 Опубликовано: 03.08.2011 21:24:08
ibsh

ibsh

0 сообщений из 3 понравились пользователям.

Группа: User

Wrote

Просто скопировать файл в папку Plugins и перезапустить программу. Всё.



Как я понял это работает для версии MathStudioDesktop.0_89.8.Setup.msi,
которая устанавливается в папку c:\Program Files\Smath\
(и там есть папка Plugins).
И это работает.

Но если я хочу использовать версию SMathStudioDesktop.0_89.8.Portable.exe,
то в том каталоге из которого я запускаю данную версию
возникает папка Xenocode (и там много вложенных папок с другими именами) и возникает файл settings.
Папки Plugins - я в этом случае не вижу.

Версия SMathStudioDesktop.0_89.8.Portable.exe мне показалась
удобнее так как ее не надо инсталлировать.



#8 Опубликовано: 03.08.2011 22:00:53
Radovan Omorjan

Radovan Omorjan

325 сообщений из 2052 понравились пользователям.

Группа: Moderator

Wrote

Wrote

Просто скопировать файл в папку Plugins и перезапустить программу. Всё.



Как я понял это работает для версии MathStudioDesktop.0_89.8.Setup.msi,
которая устанавливается в папку c:\Program Files\Smath\
(и там есть папка Plugins).
И это работает.


Правда - это работает.
Wrote

Но если я хочу использовать версию SMathStudioDesktop.0_89.8.Portable.exe,
то в том каталоге из которого я запускаю данную версию
возникает папка Xenocode (и там много вложенных папок с другими именами) и возникает файл settings.
Папки Plugins - я в этом случае не вижу.


Подтверждает что это такое. Я не знаю как решить это.

С уважением
Радован
When Sisyphus climbed to the top of a hill, they said: "Wrong boulder!"
#9 Опубликовано: 04.08.2011 01:39:55
уни

уни

156 сообщений из 355 понравились пользователям.

Группа: User

В портативной версии происходит разворачивание окружения программы при запуске и сворачивание окружения после выхода из программы. Только то, что включено в архив портативного дистрибутива, может быть использовано для работы. Программа автоматически "подчищает" за собой, поэтому не имеет смысла пытаться подсунуть ей плагин (хотя в прошлой версии это можно было сделать, но плагин на ту версию не рассчитан).

Разработчики пока не включили решатели ОДУ в свою программу, поэтому портативный вариант всегда будет более ограничен по возможностям, чем стационарный. Если, конечно, не изменится "форма" этой портативности.

Сейчас идёт работа над численным и символьным плагинами, в которых, возможно, будет включена данная функциональность. Я попробовал некоторые функции из этих плагинов, выглядит многообещающе, хотя работа идёт очень медленно.
Россия навсегда! Вячеслав Мезенцев
1 пользователям понравился этот пост
Radovan Omorjan 04.08.2011 13:34:00
#10 Опубликовано: 04.08.2011 02:34:23
Andrey Ivashov

Andrey Ivashov

2270 сообщений из 3734 понравились пользователям.

Группа: Super Administrator

Всё верно, спасибо! Постараюсь добавить возможность загрузки дополнений из произвольного места для портативной версии.
1 пользователям понравился этот пост
Radovan Omorjan 04.08.2011 13:34:00
  • Новые сообщения Новые сообщения
  • Нет новых сообщений Нет новых сообщений