我正在尝试绘制使用NSolve部分获得的参数方程。这是我尝试过的代码:
VolumeDiff[v_] = 1.7 - v
SolveR[ v_] =
Re[NSolve[16 v^2 - 16 v*(r^3) + 3 (r^2) + 1 == 0, r, Reals]]
EnergyPos[r_] = r/2 (r + Sqrt[r^2 - 1])
EnergyNet[r_] = EnergyPos[SolveR[r]] + EnergyPos[SolveR[VolumeDiff[r]]]
ParametricPlot[{Re[EnergyNet[x]], 1.7 - 2. x}, {x, .1, 1.6}]
基本上,我有一个带有两个变量的立方体,我求解另一个变量,并尝试根据原始给定变量绘制两个参数方程。这被认为是连接在一起的两个气泡的能量与体积差异的图表。但是,我的轴是空白的。我使用NSolve来隔离立方方程的真根,我猜Mathematica有一个问题,与NSolve有关。我看了整个互联网,但我找不到任何答案。谢谢你的帮助! 大卫
答案 0 :(得分:3)
纠正了几个错误。
您应该了解SetDelayed ( := )
和Solve[]
的工作原理。
VolumeDiff[v_] := 1.7 - v
SolveR[v_] := NSolve[16 v^2 - 16 v*(r^3) + 3 (r^2) + 1 == 0, r, Reals][[1]]
EnergyPos[r_] := r/2 (r + Sqrt[r^2 - 1])
EnergyNet[r_] := EnergyPos[r /. SolveR[r]]+EnergyPos[r /. SolveR[VolumeDiff[r]]]
ParametricPlot[{EnergyNet[x], 1.7 - 2. x}, {x, .1, 2}]