Matlab PDE решатель pdpde - как правильно установить граничное условие? - PullRequest
0 голосов
/ 19 марта 2019

У меня проблема с PDE:

Du / Dt = Du / Dx

Исходное состояние:

и (х, 0) = х + 1

Граничные условия:

и (0, T) = T + 1

Du / Dx (10, т) = 1

Следуя примерам pdex1.m Я написал такой скрипт:

% --------------
m = 0;
x = linspace(0,10,10);
t = linspace(0,10,10);
sol = pdepe(m,@pdex1pde,@pdex1ic,@pdex1bc,x,t);
% --------------------------------------------------------------------------
function [c,f,s] = pdex1pde(x,t,u,DuDx)
c = 1;
f = u;
s = 0;
% --------------------------------------------------------------------------
function u0 = pdex1ic(x)
u0 = x+1;
% --------------------------------------------------------------------------
function [pl,ql,pr,qr] = pdex1bc(xl,ul,xr,ur,t)
pl = -t-1+ul;
ql = 0;
pr = -1+DurDx;
qr = 0;
%-------------------------

Этот скрипт не работает, и я считаю, что проблема связана с "pr = -1 + DurDx;"

Как в этом случае правильно кодировать граничное условие?

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...