export – Non-linear equation – Mathematica Stack Exchange

The OP seems maybe to want X as a function of x, but the OP gives up an equation that defines X as a function of t. No good clue about how to incorporate x into the solution X(t) as defined by the given equation.

Here’s one way to go about finding X(t) numerically. The equation has a 3-parameter family of solutions, so we seek an order-3 differential equation for the family. This turns out to be easy. Next we need to find initial conditions for X(t0), X'(t0), X''(t0) in terms of the parameters a, b, B. This is easy if t0 = 0. We get two solution components psolM/psolP because the initial condition for X(0) is a quadratic equation (M for minus √, P for plus √).

eqn = X(t) (X(t) - a) + b Exp(-2 X(t) t) == B;

sys = NestList(D(#, t) &, eqn, 3);

ode = Eliminate(sys, {a, b, B});

ics = Solve(Most@sys /. t -> 0, 
   NestList(D(#, t) &, X(t), 2) /. t -> 0);
Length@ics (* number of solutions = 2 *)
(*  2  *)

{psolM, psolP} = 
  ParametricNDSolveValue({ode, #}, X, {t, -2, 2}, {a, b, B}, 
     Method -> "StiffnessSwitching") & /@ (ics /. Rule -> Equal);

nosol = Verbatim(ParametricFunction)(___)(___) -> 
   Interpolation({{-2., Indeterminate}, {2., Indeterminate}}, 
    InterpolationOrder -> 1);
Manipulate(
 Quiet@ListLinePlot({psolM(a, b, B), psolP(a, b, B)} /. nosol, 
   InterpolationOrder -> 3, PlotRange -> {{-2, 2}, {-5, 5}}, 
   PlotLabel -> 
    Pane(Style($MessageList, "Label"), {320, 60}, 
     Alignment -> Center)),
 {{a, 1}, -4, 4, Appearance -> "Labeled"},
 {b, 1, 5, Appearance -> "Labeled"},
 {{B, 4}, 1, 5, Appearance -> "Labeled"},
 AutorunSequencing -> {{1, 3}, {2, 3}, {3, 3}}
 )