Чтобы ввести коэффициенты для вашего УЧП, выберите PDE > PDE Specification.
Введите текстовые выражения с помощью этих соглашений:
x
— x - координата
y
— y - координата
u
— Решение уравнения
ux
— Производная u в x - направление
uy
— Производная u в y - направление
t
— Время (параболические и гиперболические уравнения)
sd
— Номер субдомена
Например, вы могли использовать это выражение, чтобы представлять коэффициент:
(x + y)./(x.^2 + y.^2 + 1) + 3 + sin(t)./(1 + u.^4)
Для эллиптических проблем, когда вы включаете u
, ux
, или uy
, необходимо использовать нелинейный решатель. Выберите Solve > Parameters > Use nonlinear solver.
Не используйте кавычки или ненужные пробелы в ваших записях. Синтаксический анализатор может неправильно истолковать пробел как векторную диафрагму, как тогда, когда вектор MATLAB® использует пространство, чтобы разделить элементы вектора.
Использование
, ./
, и .^
для умножения, деления и операций возведения в степень. Текстовые выражения работают с векторами-строками, таким образом, операции должны быть целесообразными для векторов-строк. Векторы-строки являются значениями в треугольных центроидах в mesh.
Можно записать функции MATLAB для выражений простого текста, а также коэффициентов. Например, предположите свой коэффициент f
дан файлом fcoeff.m
.
function f = fcoeff(x,y,t,sd) f = (x.*y)./(1 + x.^2 + y.^2); % f on subdomain 1 f = f + log(1 + t); % include time r = (sd == 2); % subdomain 2 f2 = cos(x + y); % coefficient on subdomain 2 f(r) = f2(r); % f on subdomain 2
Используйте fcoeff(x,y,t,sd)
как коэффициент f в parabolic
решатель.
Коэффициент c является матрицей 2 на 2. Можно дать 1-, 2-, 3-, или матричные выражения с 4 элементами. Разделите выражения для элементов пробелами. Эти выражения среднее значение:
Выражение с 1 элементом:
Выражение с 2 элементами:
Выражение с 3 элементами:
Выражение с 4 элементами:
Например, c является симметрической матрицей с постоянными диагональными элементами и cos(xy)
как недиагональные условия:
1.1 cos(x.*y) 5.5 | (1) |
Это соответствует коэффициентам для параболического уравнения
Можно ввести коэффициенты для системы с N = 2
уравнения в приложении PDE Modeler. Для этого откройте приложение PDE Modeler и выберите Generic System
.
Затем выберите PDE > PDE Specification.
Введите символьные выражения для коэффициентов с помощью формы в Коэффициентах для Скалярных УЧП с дополнительными опциями для нелинейных уравнений. Дополнительные опции:
Представляйте i
компонент th решения u
использование 'u(i)'
для i
= 1 или 2.
Точно так же представляйте i
компоненты th градиентов решения u
использование 'ux(i)'
и 'uy(i)'
для i
= 1 или 2.
Для эллиптических проблем, когда вы включаете коэффициенты u(i)
, ux(i)
, или uy(i)
, необходимо использовать нелинейный решатель. Выберите Solve > Parameters > Use nonlinear solver.
Не используйте кавычки или ненужные пробелы в ваших записях.
Для более многомерных систем не используйте приложение PDE Modeler. Представляйте свои проблемные коэффициенты в командной строке.
Можно ввести скаляры в c
матрица, соответствуя этим уравнениям:
Если вам нужны матричные версии какого-либо cij
коэффициенты, введите выражения, разделенные пробелами. Можно дать 1-, 2-, 3-, или матричные выражения с 4 элементами. Они означают:
Выражение с 1 элементом:
Выражение с 2 элементами:
Выражение с 3 элементами:
Выражение с 4 элементами:
Например, эти выражения показывают один из каждого типа (1-, 2-, 3-, и выражения с 4 элементами)
Эти выражения соответствуют уравнениям
В этом примере показано, как ввести время - и координатно-зависимые коэффициенты в приложении PDE Modeler.
Решите параболический УЧП,
со следующими коэффициентами:
d = 5
a = 0
f является линейным подъемом до 10, содержит в 10, затем сползает, отступают к 0:
c = 1 +.x2 + y 2
Чтобы решить это уравнение в приложении PDE Modeler, выполните эти шаги:
Запишите файл framp.m
и сохраните его на своем пути MATLAB.
function f = framp(t) if t <= 0.1 f = 10*t; elseif t <= 0.9 f = 1; else f = 10-10*t; end f = 10*f;
Откройте приложение PDE Modeler при помощи pdeModeler
команда.
Отобразите линии сетки путем выбора Options> Grid.
Выровняйте новые формы к линиям сетки путем выбора Options> Snap.
Чертите прямоугольник с углами в (-1,-0.4), (-1 0.4), (1 0.4), и (1,-0.4). Для этого сначала нажмите кнопку. Затем кликните по одному из углов с помощью левой кнопки мыши и перетащите, чтобы чертить прямоугольник.
Нарисуйте круг с радиусом 0.2 и центр в (0.5,0). Для этого сначала нажмите кнопку. Затем щелкните правой кнопкой по источнику и перетащите, чтобы нарисовать круг. Щелчок правой кнопкой ограничивает форму, которую вы чертите так, чтобы это был круг, а не эллипс. Если круг не является совершенным модульным кругом, дважды кликните его. В получившемся диалоговом окне задайте точное центральное местоположение и радиус круга.
Смоделируйте геометрию путем ввода R1-C1
в поле Set formula.
Проверяйте, что режим приложения установлен в Generic Scalar.
Задайте граничные условия. Для этого переключитесь на граничный режим путем выбора Boundary> Boundary Mode. Используйте Shift +click, чтобы выбрать несколько контуров. Затем выберите Boundary> Specify Boundary Conditions.
Для прямоугольника используйте граничное условие Дирихле с h = 1
и r = t*(x-y)
.
Для круга используйте Нейманово граничное условие с g = x.^2+y.^2
и q = 1
.
Задайте коэффициенты путем выбора PDE> PDE Specification или нажатия кнопки PDE на панели инструментов. Выберите тип Parabolic УЧП. Задайте c = 1+x.^2+y.^2
, a = 0
, f = framp(t)
, и d = 5
.
Не включайте кавычки или пробелы, когда вы зададите свои коэффициенты приложение PDE Modeler. Синтаксический анализатор интерпретирует все входные параметры как векторы символов. Это может неправильно истолковать пробел как векторную диафрагму, как тогда, когда вектор MATLAB использует пространство, чтобы разделить элементы вектора.
Инициализируйте mesh путем выбора Mesh> Initialize Mesh.
Совершенствуйте mesh дважды путем выбора Mesh> Refine Mesh.
Улучшите треугольное качество путем выбора Mesh> Jiggle Mesh.
Установите начальное значение и время решения. Для этого выберите Solve> Parameters.
В получившемся диалоговом окне, набор время к linspace(0,1,50)
и начальное значение u (t 0) к 0
.
Решите уравнение путем выбора Solve> Solve PDE или нажатия кнопки = на панели инструментов.
Визуализируйте решение как 3-D статический график. Для этого:
Выберите Plot> Parameters.
В получившемся диалоговом окне выберите опции Height (3-D plot) и Color.
Выберите опцию Show mesh.
Измените палитру в jet
при помощи соответствующего выпадающего меню в том же диалоговом окне.