exponenta event banner

pdeInterpolant

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

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

Описание

Интерполятор позволяет вычислить решение PDE в любой точке геометрии.

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

Создание

Синтаксис

Описание

пример

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

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

Входные аргументы

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

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

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

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

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

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

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

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

evaluateИнтерполяция данных в выбранные расположения

Примеры

свернуть все

В этом примере показано, как создать pdeInterpolant от решения до скалярного PDE.

Решите уравнение -Δ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);

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

F = pdeInterpolant(p,t,u);

Вычислите интерполятор в четырех углах квадрата.

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