如何在MATLAB中求解三维非线性抛物线偏微分方程

时间:2012-10-23 11:45:28

标签: matlab pde

我在解决以下形式的非线性抛物线pde时遇到问题。 (考虑u_x为u w.r.t. x的区别)

U(1)_t = a1(U(1),x)* U(2)_t + b1(U(1),x,U(3))=(D1(x,U(1)) * U(1)_x)_x + c1(U(1),U(3))* U(1)_x ---(1)

及其耦合方程

U(3)_t = a2(U(1),U(3))* U(2)_t + b2(U(1),x,U(3))=(D3 * U(3) _x)_x ---(2)

你可以看到U(1),U(2),U(3)只有两个PDE。这是因为U(2)不是x的函数,并且有自己的pde

U(2)_t =(1 / r)(D2(U(2))* U(2)_r)_r ---(3)

现在(3)是独立可解的。我在MATLAB中用pdepe解决了它。现在我需要将U(2)_t的值放入(1)&(2)然后解决它们,这是我在pdepe中无法做到的。

所以这是我的问题。有没有办法解决(3)后,U(2)_t的值可以导入(1)&(2)并同时解决它们。或者,有没有什么方法可以直接以(1)和(2)中的差分形式包含(3)并在MATLAB中求解得到的耦合系统。在此先感谢。

1 个答案:

答案 0 :(得分:0)

您必须线性化并执行迭代解决方案。 Newton-Raphson通常是首选方法,尽管有些人喜欢BFGS。

我不知道你如何制定你的偏微分方式。有限差分,有限元,边界元素还是其他什么?发布PDE并不足以告诉我。