exponenta event banner

pdeInterpolant

Interpolant для узловых данных к выбранным местоположениям

pdeInterpolant и представление [p,e,t] данных FEMesh не рекомендуются. Используйте interpolateSolution и evaluateGradient, чтобы интерполировать решение для УЧП и его градиент к произвольным точкам, не переключаясь на представление [p,e,t].

Описание

interpolant позволяет вам оценивать решение для УЧП в любой точке в геометрии.

Решатели Partial Differential Equation Toolbox™ возвращают значения решения в узлах, означая точки mesh. Чтобы оценить интерполированное решение в других точках в геометрии, создайте объект pdeInterpolant, и затем вызовите функцию evaluate.

Создание

Синтаксис

F = pdeInterpolant(p,t,u)

Описание

пример

F = pdeInterpolant(p,t,u) возвращает interpolant F на основе точек данных p, элементы t и значения данных в точках, u.

Используйте meshToPet, чтобы получить p и данные t для интерполяции с помощью pdeInterpolant.

Входные параметры

развернуть все

Местоположения точки данных, заданные как матрица с двумя или тремя строками. Каждый столбец p является 2D или 3-D точкой. Для получения дополнительной информации смотрите Данные о Mesh.

Для 2D проблем создайте p с помощью функции initmesh или экспорта из меню Mesh приложения PDE Modeler. Для 2D или 3-D геометрии с помощью объекта PDEModel получите p с помощью функции meshToPet на model.Mesh. Например, [p,e,t] = initmesh(g) или [p,e,t] = meshToPet(model.Mesh).

Элементы триангуляции, указанные как матрица. Для получения дополнительной информации смотрите Данные о Mesh.

Для 2D проблем создайте t с помощью функции initmesh или экспорта из меню Mesh приложения PDE Modeler. Для 2D или 3-D геометрии с помощью объекта PDEModel получите t с помощью функции meshToPet на model.Mesh. Например, [p,e,t] = initmesh(g) или [p,e,t] = meshToPet(model.Mesh).

Значения данных, чтобы интерполировать, заданный как вектор или матрица. Как правило, u является решением проблемы УЧП, возвращенной assempde, parabolic, hyperbolic или другим решателем. Например, u = assempde(b,p,e,t,c,a,f). Можно также экспортировать u из меню Solve приложения PDE Modeler.

Размерности матричного u зависят от проблемы. Если np является количеством столбцов p, и N является количеством уравнений в системе УЧП, то u имеет строки N*np. Первые строки np соответствуют уравнению 1, следующие строки np соответствуют уравнению 2 и т.д. Для параболических или гиперболических проблем u имеет один столбец в течение каждого раза решения; в противном случае u является вектор-столбцом.

Функции объекта

evaluateИнтерполируйте данные к выбранным местоположениям

Примеры

свернуть все

Этот пример показывает, как создать pdeInterpolant от решения до скалярного УЧП.

Решите уравнение -Δu=1 на единичном диске с нулем условия Дирихле.

g0 = [1;0;0;1]; % circle centered at (0,0) with radius 1
sf = 'C1';
g = decsg(g0,sf,sf'); % decomposed geometry matrix
problem = allzerobc(g); % zero Dirichlet conditions
[p,e,t] = initmesh(g);
c = 1;
a = 0;
f = 1;
u = assempde(problem,p,e,t,c,a,f);

Создайте interpolant для решения.

F = pdeInterpolant(p,t,u);

Оцените interpolant в четырех углах квадрата.

pOut = [0,1/2,1/2,0;
    0,0,1/2,1/2];
uOut = evaluate(F,pOut)
uOut = 4×1

    0.2485
    0.1854
    0.1230
    0.1852

uOut(2) значений и uOut(4) почти равны, как они должны быть для симметричных точек в этой симметричной проблеме.

Смотрите также

|

Введенный в R2014b