Effacer les filtres
Effacer les filtres

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

8 vues (au cours des 30 derniers jours)
tensorisation
tensorisation le 18 Mar 2016
Commenté : tensorisation le 24 Mar 2016
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 commentaires
Torsten
Torsten le 21 Mar 2016
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 le 24 Mar 2016
"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?

Connectez-vous pour commenter.

Réponses (0)

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by