Поместите свою проблему в правильную форму для решателей Partial Differential Equation Toolbox™. Для получения дополнительной информации смотрите уравнения, которые Можно Решить Используя Тулбокс УЧП. Если необходимо преобразовать проблему в форму расхождения, смотрите Помещенные уравнения в Форме Расхождения.
Создайте PDEModel
контейнер модели. Для скалярных УЧП использовать createpde
без аргументов.
model = createpde();
Если N является количеством уравнений в вашей системе, использовать createpde
с входным параметром N
.
model = createpde(N);
Импортируйте или создайте геометрию. Для получения дополнительной информации смотрите Геометрию и Mesh.
importGeometry(model,'geometry.stl'); % importGeometry for 3-D geometryFromEdges(model,g); % geometryFromEdges for 2-D
Просмотрите геометрию так, чтобы вы знали метки контуров.
pdegplot(model,'FaceLabels','on') % 'FaceLabels' for 3-D pdegplot(model,'EdgeLabels','on') % 'EdgeLabels' for 2-D
Чтобы видеть метки 3-D модели, вы можете должны быть вращать модель, или сделать ее прозрачной, или увеличить масштаб ее. Смотрите Импорт Файла STL.
Создайте граничные условия. Для получения дополнительной информации смотрите, Задают Граничные условия.
% 'face' for 3-D applyBoundaryCondition(model,'dirichlet','face',[2,3,5],'u',[0,0]); % 'edge' for 2-D applyBoundaryCondition(model,'neumann','edge',[1,4],'g',1,'q',eye(2));
Создайте коэффициенты УЧП.
f = [1;2]; a = 0; c = [1;3;5]; specifyCoefficients(model,'m',0,'d',0,'c',c,'a',a,'f',f);
Можно задать коэффициенты как числовые или как функции.
Каждый коэффициент m
D
C
A
, и f
, имеет определенный формат. См. f Коэффициент для specifyCoefficients, c Коэффициент для specifyCoefficients, и m, d, или Коэффициент для specifyCoefficients.
Для зависящих от времени уравнений, или опционально для нелинейных стационарных уравнений, создают начальное условие. Смотрите Установленные Начальные условия.
Создайте mesh.
generateMesh(model);
Вызовите соответствующий решатель. Для всех проблем за исключением задач о собственных значениях вызвать solvepde
.
result = solvepde(model); % for stationary problems result = solvepde(model,tlist); % for time-dependent problems
Для задач о собственных значениях использовать solvepdeeig
:
result = solvepdeeig(model);
Исследуйте решение. См. Графики Решения и Градиента с pdeplot и pdeplot3D, 2D Графики Решения и Градиента с MATLAB® Functions и 3-D Графики Решения и Градиента с MATLAB® Functions.
applyBoundaryCondition
| createpde
| generateMesh
| geometryFromEdges
| importGeometry
| pdegplot
| pdeplot
| pdeplot3D