Дополнение DotNumerics

Дополнение DotNumerics - Набор функций для численного решения ОДУ и систем линейных уравнений. - Messages

#1 Posted: 7/24/2013 3:06:00 AM
уни

уни

156 likes in 355 posts.

Group: User

Состав:
dn_AdamsMoulton(), dn_ExplicitRK45(), dn_ImplicitRK5(), dn_GearsBDF(),
dn_LinAlgSolve(), dn_LinAlgLLS_COF(), dn_LinAlgLLS_QRorLQ(), dn_LinAlgLLS_SVD(), dn_LinAlgSVD(), dn_LinAlgEigenvalues(), dn_LinAlgEigenvectors(), dn_MatrixInverse().



Дифференциальные уравнения. Функции предназначены для численного решения дифференциальных уравнений различными методами: явный Рунге-Кутта, неявный Рунге-Кутта, Gear’s BDF и Адамса-Мултона.

Решатели нежёстких ОДУ:

dn_AdamsMoulton( НачУсл, НачИнт, КонИнт, КолвоИнт, D(2) ) численно решает нежёсткое ОДУ методом Адамса-Мултона.

dn_ExplicitRK45( НачУсл, НачИнт, КонИнт, КолвоИнт, D(2) ) численно решает нежёсткое ОДУ явным методом Рунге-Кутта (4)5 порядка.


Решатели жёстких ОДУ:

dn_ImplicitRK5( НачУсл, НачИнт, КонИнт, КолвоИнт, D(2) ) численно решает жёсткое ОДУ неявным методом Рунге-Кутта 5-го порядка.

dn_GearsBDF( НачУсл, НачИнт, КонИнт, КолвоИнт, D(2) ) численно решает жёсткое ОДУ BDF методом.


Параметры:

НачУсл - вектор начальных условий размерности n, где n - число уравнений в системе;
НачИнт, КонИнт - граничные точки отрезка, на котором ищется решение; начальные условия, заданные в векторе НачУсл, - это значения решения в точке НачИнт;
КолвоИнт - количество интервалов разбиения отрезка [НачИнт, КонИнт], при этом количество точек решения будет равно КолвоИнт + 1;
D(2) - функция двух переменных, возвращающая значение в виде вектора из n элементов, содержащих первые производные неизвестных функций.

Точность

Для всех методов может быть задана прямо в документе перед использованием функции. Для этого нужно определить значения переменных: AbsTol и RelTol. Значения по умолчанию для всех методов: AbsTol = 1.0E-7, RelTol = 1.0E-4.

Примечание. Количество параметров функции D(t,x) может быть больше двух. Вы можете передавать дополнительно какие-то свои параметры как в виде скаляров, так и в виде вектора.

[albumimg]241[/albumimg] [albumimg]240[/albumimg] [albumimg]258[/albumimg]


Исходный код: https://smath.info/svn/public/plugins/DotNumerics/


Книги:

1. Numerical initial value problems in ordinary differential equations, C. William Gear, PH, 1971, ISBN 0136266061 (BookFinder).


Примеры:

[albumimg]232[/albumimg] [albumimg]245[/albumimg] [albumimg]240[/albumimg] [albumimg]241[/albumimg] [albumimg]242[/albumimg] [albumimg]243[/albumimg] [albumimg]246[/albumimg]
Россия навсегда! Вячеслав Мезенцев
1 users liked this post
Serg 1/25/2014 1:44:00 PM
#2 Posted: 7/25/2013 2:54:00 AM
Медведев Виктор

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

13 likes in 157 posts.

Group: User

И как это все прикрутить к SMath? Какую .dll куда копировать?
#3 Posted: 7/25/2013 3:30:35 AM
уни

уни

156 likes in 355 posts.

Group: User

Андрей не афиширует это на местном форуме, но в последней сборке изменён подход к установке дополнений. Там появился специальный менеджер расширений.
Менеджер расширений.PNG
Россия навсегда! Вячеслав Мезенцев
#4 Posted: 7/26/2013 7:07:59 AM
Медведев Виктор

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

13 likes in 157 posts.

Group: User

Wrote

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


Дискриминация по "форумному" признаку?

А ночная сборка - это типа нестабильная версия?
#5 Posted: 7/26/2013 8:40:56 AM
уни

уни

156 likes in 355 posts.

Group: User

Да, не проверенная. Там появились некоторые значительные изменения и исправления из прошлых сборок. Нужно тестировать. Ещё на английской части форума появился специальный раздел для дополнений, где они все собраны. Здесь мало активных пользователей, поэтому там обновления приоритетней. Тамошние форумчане отписываются об ошибках в программе и по мере их исправления Андрей выкладывал ночные сборки.
Россия навсегда! Вячеслав Мезенцев
  • New Posts New Posts
  • No New Posts No New Posts