Fit experimental data to 1D convection diffusion solution

3 views (last 30 days)
Hi everyone,
I am new to fitting surfaces to equations, but basically I am trying to solve the convection diffusion equation in 1D using data extracted from a simulation.
The 1D equation is of the form: du(x,t)/dt = c*du/dx + D*(d^2u/dx^2). I know the inital boundary conditions as: u(x,0) = 293.15, u(0,t) = 271.15 for t>0, boundary at L is open boundary.
What I want is to get a solution in equation form: soln = f(x,t) by fitting the data [see attachment]. The data contains u (temperature) as function of x (distance) and t (time).
Is this possible to achieve?
Thanks!
  1 Comment
Torsten
Torsten on 8 Apr 2020
Couple lsqcurvefit as fitting tool with pdepe as integrator for the partial differential equation.

Sign in to comment.

Accepted Answer

John D'Errico
John D'Errico on 8 Apr 2020
Edited: John D'Errico on 8 Apr 2020
If your goal is to find an anaytical solution, of the form u(x,t), you may need to do some reading. Here, for example, a general text on the topic of analytical solutions of PDEs:
However, you may find this more to the point:
The idea is you would need to first do some modeling to obtain a solution form, then you would need to use a regression tool to estimate the coefficients in that model. This is necessary, IF your goal is to find a functional form for the solution.
If, in the end, all you care about is to solve for the coefficients in the parabolic PDE, then it will be far simpler to just use a regression tool (thus lsqcurvefit or lsqnonlin) as applied to the solution from a tool like PDEPE on your equations. The idea here is to set up PDEPE to solve the PDE problem for a FIXED given set of parameters c and D, and the known boundary conditions. Once you have that set up, so it can predict the values of u(x,t) at each point in the grid where you have data, then you use a tool like lsqnonlin to estimate the parameters c and D. Thus lsqnonlin will adjust the parameters until it finss the set that best fit your data.
The problem with the latter approach is it does not give you a functional form u(x,t), just a set of parameters c and D that best fit the data. In order to get that pretty form you can write down on paper (if a solution even exists), you need to do the mathematical analysis first.
You cannot use tools like dsolve for this problem, since dsolve is not able to solve PDEs.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!