0

我正在尝试绘制一个使用 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 的绘图时存在问题。我浏览了整个互联网,但找不到任何答案。谢谢你的帮助!大卫

4

1 回答 1

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}]

在此处输入图像描述

于 2012-06-13T22:36:24.007 回答