フィルターのクリア

How to solve a 1st order 1D PDE in Matlab?

8 ビュー (過去 30 日間)
tensorisation
tensorisation 2016 年 3 月 18 日
コメント済み: tensorisation 2016 年 3 月 24 日
i have a set of 5 equation that takes the form:
du_i/dt=A_i(u)*(du_i/dx)+B_i(u)
where u(x,t)=[u_1(x,t);u_2(x,t);u_3(x,t);u_4(x,t);u_5(x,t)]
(i=1,2,3,4,5)
**in one of the equations (let us denote this equation with i=1) i have: A_1=0
the pdepe function of matlab seems (maybe im wrong here) to only fit 2nd order pde and above, ignoring the obvious need to be able to solve simpler 1st order pdes, which is absurd.
the reason i say this is because in the description here: http://www.mathworks.com/help/matlab/math/partial-differential-equations.html
it says: "f(x,t,u,∂u/∂x) is a flux term and s(x,t,u,∂u/∂x) is a source term. The flux term must depend on ∂u/∂x."
for a 1st order PDE: f(x,t,u,∂u/∂x)=f(x,t,u) and we can always choose f(x,t,u,∂u/∂x)=0. so obviously something is wrong here if i want to solve a 1st order pde using pdepe (unless its legit to put f=0? it seems unlikely, i would like someone to verify this).
even the PDE toolbox (which i never used so i don't know much about it) seems to be designed only for 2D,3D more complex pdes.
it seems absurd to me that despite pdepe and matlab toolbox being able to solve higher order / higher dimensions pdes, there is no simple built-in way to solver the much more simpler 1st order 1D pde, so i had to ask here.
  2 件のコメント
Torsten
Torsten 2016 年 3 月 21 日
First-order PDEs are much more difficult to solve than second-order PDEs.
pdepe is not suited for your problem since your equations are hyperbolic in nature whereas pdepe solves elliptic-parabolic equations.
You will have to discretize your equations in space using an upwind-method and solve the resulting system of ordinary differential equations using ODE15S,e.g.
Best wishes
Torsten.
tensorisation
tensorisation 2016 年 3 月 24 日
"You will have to discretize your equations in space using an upwind-method and solve the resulting system of ordinary differential equations using ODE15S,e.g."
can you please provide more details on this? what is the upwind-method? how do i turn my set of PDEs into ODEs?

サインインしてコメントする。

回答 (0 件)

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by