pdepe帮助!在PDE(边界条件解算器)

56 Ansichten(30天)的
沂州杜
沂州杜 我2019年1月16日
Kommentiert: 乔什·迈耶 我2019年11月19日
你好,我需要一些帮助在MATLAB解决微分方程。
我需要解决热传导方程:Cρ* dT (x, t) / dT = df (dT (x, t) / dx) / dx。
边界条件:T (x, 0) = T0;dT (L、t) / dx = 0;T (0, T) = Tg (T)[上边界条件,(在这里,Tg是instrument-recorded温度))
然而,非周期边界条件Tg (t)(温度随时间变化和与时间)没有固定的变换关系。
可以使用pdepe如何解决吗?
有人能帮助我吗? ?
这是我的代码:
1 Kommentar
沂州杜
沂州杜 我2019年1月16日
这是我的代码;
函数pdex1
m = 0;
x = [0 0.005 0.01 0.05 0.1 0.2 0.5 0.7 0.9 0.95 0.99 0.995 1];
t = [0 1 0.005 0.01 0.05 0.1 0.5 1.5 - 2);
C = 4.0;
k = 419;
密度= 8960;
TT = [25 30 35 40 45 50 55 60 65];
索尔= pdepe (m, @pdex1pde, @pdex1ic @pdex1bc x, t);
u1 =索尔(:,:1);
冲浪(x, t, u1)
标题(u1 (x, t))
包含(' x '距离)
ylabel (“t”)
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
函数[c、f、s] = pdex01pde (x, t, u, DuDx)
c =密度* c;
f = k * DuDx;
y = u (1);
F = 0 * y;
s = F;
% % - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
函数情况= pdex1ic (x);
情况= 25;
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
函数(pl ql,公关,qr] = pdex1bc (xl, ul, xr, ur, t)
pl = ul-TT(我);
ql = 0;
公关= 0;
qr = 1;

Melden您西奇,嗯祖茂堂kommentieren。

Akzeptierte Antwort

乔什·迈耶
乔什·迈耶 我2019年2月15日
你的边界条件包括线函数
pl = ul-TT(我);
TT(我) 不是内定义的函数,这就是导致错误。你需要通过工作 TT 作为一个额外的参数。但是,尽管如此,该指数 是未定义的。所以我建议做某事:
函数[pl, ql,公关,qr] = pdex1bc (xl, ul, xr, ur, t)
Tg = 25;%或Tg = h (t)如果你能表达t的函数
pl = ul-Tg;
ql = 0;
公关= 0;
qr = 1;
如果你真的想通过 TT 作为一个参数,改变边界函数的头
函数[pl, ql,公关,qr] = pdex1bc (xl, ul, xr, ur, t, TT)
然后定义变量
公元前= @ (xl, ul, xr, ur, t) pdex1bc (xl, ul, xr, ur, t, TT);
这允许pdepe通过,预计在4输入,并允许您通过额外的 TT 输入的工作区。您需要定义索引 在某个地方 pdex1bc 。调用 pdepe 就变成了
索尔= pdepe (m, @pdex1pde @pdex1ic,公元前,x, t);
同时,尽管这些不会引起错误一些其他可能的问题:
  • 常数k出现在你的通量f =…,但不是在你的原始方程。
  • 你的源项应该是s = 0从原始方程,但是你行定义y,F,年代
3 Kommentare
乔什·迈耶
乔什·迈耶 我2019年11月19日
给出了边界条件的系数满足边界方程。方程是:
实现的边界条件 pdepe ,您需要编写一个函数,给出了系数 p 在这个方程。所以,左边边界,边界方程具有一定的值 p ,被称为 。同样在右边边界 :
正确的:
左:
边界函数使用表单
函数(pl ql,公关,qr] = pdex1bc (xl, ul, xr, ur, t)
换句话说,你获得的值 x , u , t 在每一个边界,需要给的值 p 在每个边界的这些变量。
作为一个例子,假设在左边边界条件 。的边界方程,你有 ,因为用这些系数值入边界方程 。现在,假设你右边的边界 。因为仍然没有变化,你再一次 的表达式 p 就变成了 ,因为如果你把这些系数边界方程得到
有一点要注意的是,通量项 f 是相同的主要方程中定义一个函数 pdepe 。它通常包含一个偏导数,但也可以有其他条款。所以通常你会问任何边界= 0,没有条件的偏导数。如果你的通量项 ,但你的左边界条件 ,那么你的系数 为了抵消1/2通量而言。

Melden您西奇,嗯祖茂堂kommentieren。

Weitere Antworten (0)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的