提问人:underloaded_operator 提问时间:4/7/2023 最后编辑:underloaded_operator 更新时间:4/9/2023 访问量:92
功率:遇到无限表达式 1/0
Power: Infinte expression 1/0 encountered
问:
我正在研究一个涉及笛卡尔 Folium 的 Mathematica 实验室。我正在尝试找到垂直和水平切线,然后将它们与同一图形中的对开页绘制。我不断收到错误 [Power: Infinite expression 1/0 encountered]。我一直在谷歌上搜索解决方案或解决问题的方法,但空手而归。如果有人能看一看并帮助我弄清楚发生了什么,我将不胜感激。
p.s 如何在 Mathematica 中调试?
功能
x[t_] := (12 t)/(1 + t^3)
y[t_] := (12 t^2)/(1 + t^3)
第一个情节
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}]
部分错误/和我的问题
(*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}]}]
先谢谢你
编辑:
嗨,在“调试”该错误后,我发现我错误地将其更改为
Point[({x[#], y[#]} & /@ {-1, 0, 1}) /. t -> #] &
因此,这些点可以通过 T 进行参数化。但不幸的是,我的工作没有在那里完成,我收到一个新错误说:函数不是图形原语或指令。在网上阅读后,我了解到这意味着我可能正在尝试使用函数作为图形命令的参数?我正在使用 ParametricPlot,我不明白这如何引发这样的错误。我该如何解决这个问题?
答:
2赞
Chris Degnen
4/7/2023
#1
从 Point 参数中排除 -1。 & 导致错误。x[-1]
y[-1]
(*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}]}]
若要调试,请拆开表达式。例如,这很好
ParametricPlot[{x[t], y[t]}, {t, -100, 100},
PlotRange -> {{-10, 10}, {-10, 10}},
AxesLabel -> {x, y}]
这也很好
Table[Line[{{-10, y[t]}, {10, y[t]}}], {t, t /. ht}]
但错误立即暴露在
Point[{x[#], y[#]} & /@ {-1, 0, 1}]
评论