Решатель дифференциальных уравнений в частных производных
• numol(x_endpts, xpts, t_endpts, tpts, num_pde, num_pae, pde_func, pinit, bc_func)
Возвращает матрицу [xpts x tpts], содержащую решения одномерного дифференциального уравнения в частных производных (ДУЧП), в pde_func. Каждый столбец представляет решение в одномерном пространстве в одном интервале времени. Для системы уравнений решение по каждой функции дополняется горизонтально так, что матрица всегда имеет xpts строк и tpts * (num_pde + num_pae) столбцов. Решение находится с использованием численного метода линий.
Аргументы
• x_endpts, t_endpts — двухэлементные векторы-столбцы, задающие действительные конечные точки областей интегрирования.
• xpts, tpts — целые числа, соответствующие количеству точек в областях интегрирования, в которых требуется выполнять аппроксимацию решения.
• num_pde, num_pae — целые числа, обозначающие соответственно количество дифференциальных и алгебраических уравнений в частных производных. Аргумент num_pde должен быть как минимум 1, num_pae может быть 0 или больше.
• Функция pde_func является векторной функцией x, t, u, ux и uxx длины (num_pde + num_pae). Она содержит правые части дифференциальных и алгебраических уравнений в частных производных и предполагается, что все левые части равны ut. Предполагается, что решение, u, является вектором функций.
При работе с системой ДУЧП каждая переменная u в каждой строке pde_func определяется индексом с использованием оператора элемента в матрице, а также с использованием оператора индекса в имени переменной или функции. Например, u[0 обозначает первую функцию в системе, а ux[1 обозначает первую производную второй функции в системе.
• pinit является векторной функцией x длины (num_pde + num_pae), содержащей начальные условия для всех функций системы.
• bc_func является матрицей num_pde * 3, содержащей строки вида:
Для граничных условий Дирихле
|
[bc_left(t)
|
bc_right(t)
|
"D"]
|
или
Для граничных условий Неймана
|
[bc_left(t)
|
bc_right(t)
|
"N"]
|
◦ В случае, когда ДУЧП для соответствующей строки содержит вторые частные производные, будут необходимы как левые, так и правые условия.
◦ Если в некотором ДУЧП присутствуют только первые частные производные, то одна из двух граничных функций должна быть заменена на "NA", а последний элемент строки всегда содержит "D.".
◦ Если в некотором уравнении системы нет частных производных, то эта строка в матрице будет игнорирована, и ее можно заполнить как ("NA" "NA" "D").
Смотрите видео о решении дифференциальных уравнений в частных производных с помощью numol:
Дополнительная информация
• Допускаются алгебраические ограничения, например: 0 = u2(x) + v2(x) − w(x) для всех x.
• Для получения уникальных решений необходимо, чтобы число требуемых граничных функций было равно порядку пространственной производной для каждого ДУЧП.
• С использованием функции
numol можно решать только гиперболические и параболические ДУЧП. Для решения эллиптических уравнений, например уравнения Пуассона, используйте функцию
relax или
multigrid.