2017-12-10 15 views
1

下の方程式をプロットすると、私は間違ったグラフを取得します。 Wolfram alphaと私の電卓はx = 112.77でf(x)= 0を通る交差点を見ます。 Gnuplotはおよそ115.8〜116で表示します。Gnuplotは方程式のグラフを間違ってプロットしますか?

#!/usr/bin/gnuplot 

#Ranges 
set xrange [112:116] 
set yrange [-0.5:0.5] 
set samples 10000 

#Special drawings 
f(x) = (101300-1.225/2*x**2) *0.0167*x /((288.15-1/(2*1005)*x**2)*287)-2.1774 


plot f(x) title "f(v)" with lines ls 1 

pause -1 

誰かがこの問題を再現できますか?事前に

おかげ

答えて

1

あなたの関数定義

f(x) = (101300-1.225/2*x**2) *0.0167*x /((288.15-1/(2*1005)*x**2)*287)-2.1774 

用語1/(2*1005)が含まれています。この式の数値はすべて整数なので、gnuplotは1/2010 = 0の整数演算を使用します。たとえば、

のように、これらの数値のうち少なくとも1つを浮動小数点数に変換する必要があります。
f(x) = (101300-1.225/2*x**2) *0.0167*x /((288.15-1./(2*1005)*x**2)*287)-2.1774 

11.に置き換えました。これはgnuplotに浮動小数点数として扱われることを伝えています。一般的には、整数演算を確実に行うことが絶対確実でない限り、すべての定数を浮動小数点として書くほうがよい場合があります。

関連する問題