pdeplot и pdeplot3DДля визуализации 2-D скалярного решения PDE можно использовать pdeplot функция. Эта функция позволяет построить график решения без явной интерполяции решения. Например, решить скалярную эллиптическую задачу ∇u=1 на L-образной мембране с нулевыми граничными условиями Дирихле и построить график решения.
Создайте модель PDE, 2-D геометрию и сетку. Задайте граничные условия и коэффициенты. Решите проблему PDE.
model = createpde; geometryFromEdges(model,@lshapeg); applyBoundaryCondition(model,'dirichlet','Edge',1:model.Geometry.NumEdges,'u',0); c = 1; a = 0; f = 1; specifyCoefficients(model,'m',0,'d',0,'c',c,'a',a,'f',f); generateMesh(model); results = solvepde(model);
Использовать pdeplot для построения графика решения.
u = results.NodalSolution; pdeplot(model,'XYData',u,'ZData',u,'Mesh','on') xlabel('x') ylabel('y')

Чтобы получить более гладкую поверхность решения, укажите максимальный размер треугольников сети с помощью Hmax аргумент. Затем решите проблему PDE с помощью этой новой сетки и постройте график решения снова.
generateMesh(model,'Hmax',0.05); results = solvepde(model); u = results.NodalSolution; pdeplot(model,'XYData',u,'ZData',u,'Mesh','on') xlabel('x') ylabel('y')

Доступ к градиенту решения в узловых местах.
ux = results.XGradients; uy = results.YGradients;
Постройте график градиента как график колчана.
pdeplot(model,'FlowData',[ux,uy])
Получите график поверхности решения с 3-D геометрией и N > 1.
Сначала импортируйте тетраэдрическую геометрию в модель с уравнениями N = 2 и просмотрите ее грани.
model = createpde(2); importGeometry(model,'Tetrahedron.stl'); pdegplot(model,'FaceLabels','on','FaceAlpha',0.5) view(-40,24)

Создайте проблему с нулевыми граничными условиями Дирихле на грани 4.
applyBoundaryCondition(model,'dirichlet','Face',4,'u',[0,0]);
Создайте коэффициенты для задачи, где f = [1;10] и c - симметричная матрица в 6N виде.
f = [1;10]; a = 0; c = [2;0;4;1;3;8;1;0;2;1;2;4]; specifyCoefficients(model,'m',0,'d',0,'c',c,'a',a,'f',f);
Создайте сетку для решения.
generateMesh(model,'Hmax',20);Решите проблему.
results = solvepde(model); u = results.NodalSolution;
Постройте график двух компонентов решения.
pdeplot3D(model,'ColorMapData',u(:,1)) view(-175,4) title('u(1)')

figure pdeplot3D(model,'ColorMapData',u(:,2)) view(-175,4) title('u(2)')

Вычислите поток решения и постройте график результатов для обоих компонентов.
[cgradx,cgrady,cgradz] = evaluateCGradient(results);
figure
pdeplot3D(model,'FlowData',[cgradx(:,1) cgrady(:,1) cgradz(:,1)])
figure
pdeplot3D(model,'FlowData',[cgradx(:,2) cgrady(:,2) cgradz(:,2)])