Solving second-order non-linear PDE

5 views (last 30 days)
Felix on 5 May 2021
Answered: Aditya Patil on 13 May 2021
I am trying to solve this second order differential equation
Where
θ 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?
Thanks
2 CommentsShowHide 1 older comment
Felix on 13 May 2021
Yes, with the chain rule we can make it into solely a function of x with , here v is constant so (and the dash is derivative wrt x). This gives .
But i can't solve this one either.

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]';
sim("differentialExample");

Categories

Find more on Eigenvalue Problems 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!

Translated by