Solving second-order non-linear PDE
4 views (last 30 days)
Show older comments
Felix on 5 May 2021
Answered: Aditya Patil on 13 May 2021
I am trying to solve this second order differential equation
θ is a function of space (x) and time (t),
κ is a function of space. This is a known ramp function that starts at 0 and increases to a fixed value.
v is constant and is
A is a constant.
With initial conditions at of ,
I have tried using pdepe but I am struggling to get it into a form that is acceptable. I have also attempted reformating it as an ODE but wasn't able to get any resonable solutions.
Is this a feasible equation that can be solved with Matlabs solvers?
Aditya Patil on 13 May 2021
As per my understanding, the core issue here is with the variable k which needs to be saturated. In other words,
k = min(0, max(C, x))
For some constant C.
This is currently not supported by the ODE solvers. More about this in this answer.
As a workaround, you can set the above condition in the odefun parameter of the solver, say ode45.
On a side note, you can also use Simulink. See the attached file for example.
t = [1:0.1:20];
x = sin(t);
input = [t;x]';
Find more on PDE Solvers in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!