-2
$\begingroup$

I just start to work with this code but it is not running?!

Clear["Global`*"] eqns = {y[x]^2 - ((1/52)*Sqrt[3]*y[x])Sqrt[y[x]^2 + (x)^-2/1000 - (69/100)] + ((49 (x)^-2)/100000) - (69/100) == 0} /. x -> x[t];y0 = 71; eqns2 = eqns /. y[x[t]] :> x'[t]/(y0x[t]);

sol = NDSolve[Append[eqns2, x[1] == 1], x, {t, 1, 10}];

Plot[Evaluate[x[t] /. sol], {t, 0, 10}, Frame -> True, PlotLegends -> Placed[Automatic, {.8, .5}], FrameLabel -> (Style[#, 14] & /@ {t, x})]

Plot[Evaluate[x'[t]/y0*x[t] /. sol], {t, 0, 10}, Frame -> True, PlotLegends -> Placed[Automatic, {.8, .5}], FrameLabel -> (Style[#, 14] & /@ {t, y})]

ParametricPlot[Evaluate[{x[t], x'[t]/y0*x[t]} /. sol], {t, 0, 10}, Frame -> True, AspectRatio -> 1, PlotLegends -> Placed[Automatic, {.8, .5}], FrameLabel -> (Style[#, 14] & /@ {x[t], y[t]})]

$\endgroup$
1
  • 1
    $\begingroup$ Need a space between products. Above you have (y0x[t]). Need (y0 x[t]). Also, some may complain this is part of the other thread regarding this problem. $\endgroup$
    – josh
    Jan 5 at 16:16
1
$\begingroup$
Clear["Global`*"]; 
eqns = {y[x]^2 - ((1/52)*Sqrt[3]*y[x]) Sqrt[
       y[x]^2 + (x)^-2/1000 - (69/100)] + ((49 (x)^-2)/100000) - (69/100) == 
    0} /. x -> x[t]; y0 = 71; eqns2 = eqns /. y[x[t]] :> x'[t]/(y0 x[t]);

Use arbitrary-precision

sol = NDSolve[Append[eqns2, x[1] == 1], x, {t, 1, 10}, WorkingPrecision -> 15]

enter image description here

Note the domains of each of the solutions.

Since the NDSolve is defined for {t, 1, 10}, each of the plots should be restricted to that interval.

LogPlot[Evaluate[x[t] /. sol[[{4, 1}]]], {t, 1, 10},
 PlotStyle -> {Automatic, Dashed},
 Frame -> True,
 PlotLegends -> Placed[{sol4, sol1}, {.8, .35}],
 FrameLabel -> (Style[#, 14] & /@ {t, x})]

enter image description here

LogPlot[Evaluate[x'[t]/y0*x[t] /. sol[[{4, 1}]]],
 {t, 1, 10},
 PlotStyle -> {Automatic, Dashed},
 Frame -> True,
 PlotLegends -> Placed[{sol4, sol1}, {.8, .35}],
 FrameLabel -> (Style[#, 14] & /@ {t, y})]

enter image description here

ParametricPlot[
 Evaluate[{x[t], x'[t]/y0*x[t]} /. sol[[{4, 1}]]],
 {t, 1, 10},
 PlotStyle -> {Automatic, Dashed},
 Frame -> True,
 AspectRatio -> 1,
 PlotLegends -> Placed[{sol4, sol1}, {.8, .5}],
 FrameLabel -> (Style[#, 14] & /@ {x[t], y[t]})]

enter image description here

$\endgroup$

Not the answer you're looking for? Browse other questions tagged or ask your own question.