mathwolfram-mathematicawolfram-language

Power: Infinte expression 1/0 encountered


I am working on a Mathematica lab that involves the Folium of Descartes. I am trying to find vertical and horizontal tangent lines and then plot them with the folium in the same graph. I keep getting an error [Power: Infinite expression 1/0 encountered]. I have been googling solutions or ways to solve that issue but came up empty-handed. I would really appreciate if someone could take a look at it and help me figure out what's happening.

p.s How do I debug in Mathematica?

Functions

x[t_] := (12 t)/(1 + t^3)
y[t_] := (12 t^2)/(1 + t^3)

First Plot

Manipulate[
 ParametricPlot[{x[t], y[t]}, {t, -100, 100}, 
  PlotRange -> {{-10, 10}, {-10, 10}}, PerformanceGoal -> "Quality", 
  AxesLabel -> {x, y}, 
  Epilog -> {Red, PointSize -> .05, Point[{x[t1], y[t1]}]}], {t1, -5, 
  5}]

Part with a bug/and my question

(*Find values of t for vertical tangent lines*)
Solve[D[y[t], t]/D[x[t], t] == Infinity, t, Reals]

(*Find values of t for horizontal tangent lines*)
Solve[D[y[t], t]/D[x[t], t] == 0, t, Reals]

(*Find values of t for horizontal tangent lines*)
ht = Solve[{D[y[t], t] == 0, t != -1, t != 1}, t, Reals, 
  MaxExtraConditions -> 
   All] (*Exclude -1 and 1 because we get a floaitng point exception*)

(*Plot the folium and the tangent lines*)
Show[ParametricPlot[{x[t], y[t]}, {t, -100, 100}, 
  PlotRange -> {{-10, 10}, {-10, 10}}, AxesLabel -> {x, y}], 
 Epilog -> {Thick, Red, Point[{x[#], y[#]} & /@ {-1, 0, 1}], 
   Table[Line[{{-10, y[t]}, {10, y[t]}}], {t, t /. ht}]}]

Thank you in advance

EDIT:

Hi, after "debugging" that error I found out that I was making it incorrectly I changed it to

Point[({x[#], y[#]} & /@ {-1, 0, 1}) /. t -> #] &

so the points can be parameterized by t. But unfortunately, my work was not done there, I get a new error saying: Function is not a Graphics primitive or directive. After reading about it online I sort of learned that it means I am likely trying to use a function as an argument for a graphics command? I am using ParametricPlot and I don't see how that could raise an error like that. How would I resolve this?


Solution

  • Exclude -1 from the Point params. x[-1] & y[-1] cause the error.

    (*Plot the folium and the tangent lines*)Show[
     ParametricPlot[{x[t], y[t]}, {t, -100, 100},
      PlotRange -> {{-10, 10}, {-10, 10}},
      AxesLabel -> {x, y}], Epilog -> {Thick, Red,
       Table[Line[{{-10, y[t]}, {10, y[t]}}], {t, t /. ht}],
       PointSize[Large], Orange,
       Point[{x[#], y[#]} & /@ {(*-1,*)0, 1}]}]
    

    To debug take expressions apart. E.g. this is fine

    ParametricPlot[{x[t], y[t]}, {t, -100, 100},
     PlotRange -> {{-10, 10}, {-10, 10}},
     AxesLabel -> {x, y}]
    

    This is also fine

    Table[Line[{{-10, y[t]}, {10, y[t]}}], {t, t /. ht}]
    

    But the error is immediately revealed in

    Point[{x[#], y[#]} & /@ {-1, 0, 1}]