1

如果给出特定参数,我想隐藏相应的图表。但我还是想画其他的情节。我只是使计算不正确(除以 0),但它仍然出现在键中。

set terminal png size 800,640
set output "test.png"
set xrange [0:70000]
set yrange [0:2500]
G=6.674*10**-11
M=5.2915793*10**22
R=600000.0
if (!exists('sma')) {
  sma=-R
}
set key right bottom
plot sqrt((250*G*M)/((R+x)**2*1.2230948554874*exp(-x/5000)*0.2)) title 'Terminal' with lines, \
     sqrt(G*M*(2/(x+R)-1/(sma+R)))-174.53 title 'Orbital' with lines

我还尝试在 plot 命令中移动 if 条件,但正如预期的那样它不起作用,因为undefined function: if.

4

1 回答 1

1

没有通用的方法来隐藏完全未定义的图。命令

plot 1/0

因错误而中止,但

plot x, 1/0

绘图x,但为两个绘图添加了一个关键条目。

在您的情况下,您可以检查的值(sma + R)并相应地设置标题:

plot sqrt((250*G*M)/((R+x)**2*1.2230948554874*exp(-x/5000)*0.2)) title 'Terminal' with lines, \
     sqrt(G*M*(2/(x+R)-1/(sma+R)))-174.53 title ((sma + R) == 0 ? '' : 'Orbital') with lines
于 2013-11-12T18:50:15.787 回答