Solving second-order non-linear PDE

13 ビュー (過去 30 日間)
Felix
Felix 2021 年 5 月 5 日
回答済み: Aditya Patil 2021 年 5 月 13 日
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 件のコメント
Aditya Patil
Aditya Patil 2021 年 5 月 12 日
Can you verify the following? If v is constant and v = x/t, then theta is function of only t(or x), as x = vt. Similarly k is also function of t.
Felix
Felix 2021 年 5 月 13 日
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.

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

回答 (1 件)

Aditya Patil
Aditya Patil 2021 年 5 月 13 日
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");

カテゴリ

Help Center および File ExchangeBoundary Conditions についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by