主要内容

用初始条件阶跃函数求解偏微分方程方程组

这个例子展示了如何在初始条件下解一个使用阶跃函数的偏微分方程组。

考虑到pde

n t x d n x - 一个 n c x + 年代 r n N - n c t 2 c x 2 + 年代 n n + 1 - c

这些方程包含常数参数 d 一个 年代 r , N ,并定义为 0 x 1 t 0 .这些方程产生于肿瘤相关血管生成[1]第一步的数学模型。 n x t 为内皮细胞密度,和 c x t 它们对肿瘤反应时释放的蛋白质浓度。

这个问题有一个恒定的、稳定的状态

n 0 c 0 1 0 5

然而,稳定性分析预测系统演化为一个非齐次解[1]。因此,采用阶跃函数作为初始条件扰动系统的稳态,促进系统的演化。

边界条件要求两个解组分在点处的通量都为零 x 0 x 1

x n 0 t x n 1 t 0 x c 0 t x c 1 t 0

为了在MATLAB中求解这个方程组,你需要对方程组、初始条件和边界条件进行编码,然后在调用求解器之前选择一个合适的解网格pdepe.您可以将所需的函数作为本地函数包含在文件的末尾(如这里所做的),或者将它们作为单独的、命名的文件保存在MATLAB路径的一个目录中。

代码方程

在编写方程之前,需要确保它的形式是pdepe解算器预计:

c x t u u x u t x - x x f x t u u x + 年代 x t u u x

由于偏微分方程系统中有两个方程,所以偏微分方程系统可以写成

1 0 0 1 t n c x d n x - 一个 n c x c x + 年代 r n N - n 年代 n n + 1 - c

方程中系数的值为

0

c x t u u x 1 1 (斜值)

f x t u u x d n x - 一个 n c x c x

年代 x t u u x 年代 r n N - n 年代 n n + 1 - c

现在您可以创建一个函数来编写这个等式。函数应该有签名[c、f、s] = angiopde (x, t, u, dudx)

  • x为独立的空间变量。

  • t为独立时间变量。

  • u因变量是否被微分xt.它是一个二元向量u (1) n x t u (2) c x t

  • dudx是偏空间导数吗 u / x .它是一个二元向量dudx (1) n / x dudx (2) c / x

  • 输出cf,年代对应于所期望的标准PDE方程形式的系数pdepe

因此,本例中的方程可以用如下函数表示:

函数[c,f,s] = angiopde(x,t,u,dudx) d = 1e-3;一个= 3.8;S = 3;r = 0.88;N = 1;c = [1;1);F = [d*dudx(1) - a*u(1)*dudx(2) *dudx(2)];s = [s *r*u(1)*(N - u(1))];S*(u(1)/(u(1) + 1) - u(2))];结束

(注意:在示例的最后,所有函数都包含为局部函数。)

代码的初始条件

接下来,编写一个返回初始条件的函数。初始条件应用于第一时间值,并提供的值 n x t 0 c x t 0 对于任意值x.使用函数签名情况= angioic (x)来写函数。

这个问题有一个恒定的、稳定的状态

n 0 c 0 1 0 5

然而,稳定性分析预测系统演化为非齐次解[1]。因此,采用阶跃函数作为初始条件来扰动系统的稳态,促进系统的演化。

u x 0 n 0 c 0 u x 0 1 05 u 1 0 3. x 0 6 1 0005 u 2 0 3. x 0 6

对应的函数是

函数U0 = angioic(x);0.5);如果stickline (X <= 0 and X <= 0 and X <= 0 and X <= 0), colorred;U0 (2) = 1.0005 * U0 (2);结束结束

代码边界条件

现在,写一个计算边界条件的函数

x n 0 t x n 1 t 0 x c 0 t x c 1 t 0

对于区间上的问题 一个 x b ,边界条件适用于所有 t ,要么 x 一个 x b .求解器所期望的边界条件的标准形式是

p x t u + x t f x t u u x 0

x 0 ,边界条件方程为

0 0 + 1 1 d n x - 一个 n c x c x 0

所以系数是:

  • p l x t u 0 0

  • l x t 1 1

x 1 边界条件是一样的,所以 p R x t u 0 0 R x t 1 1

边界函数应该使用函数签名[pl, ql,公关,qr] = angiobc (xl, ul, xr, ur, t),地点:

  • 输入xlul对应于 u x 对于左边界。

  • 输入xr你的对应于 u x 右边界。

  • t为独立时间变量。

  • 输出plql对应于 p l x t u l x t 左边界( x 0 对于这个问题)。

  • 输出公关qr对应于 p R x t u R x t 右边界( x 1 对于这个问题)。

本例中的边界条件用函数表示:

函数[pl,ql,pr,qr] = angiobc(xl,ul,xr,ur,t) pl = [0;0);ql = [1;1);公关= pl;qr = ql;结束

选择解决方案网

需要很长的时间间隔来观察方程的极限行为,所以在间隔中使用10个点 0 t 200 .还有极限分布 c x t 在这段时间内变化仅为0.1% 0 x 1 ,所以50点的相对精细的空间网格是合适的。

x = linspace (0, 1, 50);10 t = linspace (0200);

解决方程

最后,利用对称性求解方程 ,微分方程,初始条件,边界条件,网格 x t

m = 0;索尔= pdepe (m, @angiopde, @angioic @angiobc x, t);

pdepe返回3-D数组的解索尔,在那里索尔(i, j, k)接近k溶液的第一个分量 u k 评估在t(我)x (j).将解决方案组件提取到单独的变量中。

n =索尔(:,:1);c =索尔(:,:,2);

策划解决方案

创建解决方案组件的表面图 n c 在选定的网格点绘制 x t

冲浪(x, t, c)标题('c(x,t):纤维连接蛋白浓度')包含(“距离x”) ylabel (“t”

图中包含一个坐标轴。标题为c(x,t)的轴:纤维连接蛋白浓度包含一个类型为表面的对象。

冲浪(x, t、n)标题(“n(x,t):内皮细胞密度”)包含(“距离x”) ylabel (“t”

图中包含一个坐标轴。标题为n(x,t)的轴:内皮细胞密度包含一个类型为表面的对象。

现在画出在点处解的最终分布金宝搏官方网站 t f 200 .这些图对应于[1]中的图3和图4。

情节(x, n(最终,:))标题(n(x,t_f)的最终分布

图中包含一个坐标轴。标题为“n(x,t_f)的最终分布”的轴包含一个类型为line的对象。

情节(x, c(最终,:))标题(c(x,t_f)的最终分布

图中包含一个坐标轴。标题为“c(x,t_f)的最终分布”的轴包含一个类型为line的对象。

参考文献

[1]汉弗莱斯,法医和M.A.J.牧师。肿瘤相关血管生成第一步的数学模型:毛细血管芽的形成和次级分支应用于医学和生物学的数学杂志, 13(1996), 73-98页。

本地函数

这里列出了PDE求解器pdepe调用来计算解决方案的本地helper函数。或者,您可以将这些函数作为它们自己的文件保存在MATLAB路径的一个目录中。

函数[c、f、s] = angiopde (x, t, u, dudx)待解方程d = 1 e - 3;一个= 3.8;S = 3;r = 0.88;N = 1;c = [1;1);F = [d*dudx(1) - a*u(1)*dudx(2) *dudx(2)];s = [s *r*u(1)*(N - u(1))];S*(u(1)/(u(1) + 1) - u(2))];结束% ---------------------------------------------函数情况= angioic (x)%初始条件情况= [1;0.5);如果stickline (X <= 0 and X <= 0 and X <= 0 and X <= 0), colorred;U0 (2) = 1.0005 * U0 (2);结束结束% ---------------------------------------------函数[pl, ql,公关,qr] = angiobc (xl, ul, xr, ur, t)%边界条件pl = [0;0);ql = [1;1);公关= pl;qr = ql;结束% ---------------------------------------------

另请参阅

相关的话题