プロが教えるわが家の防犯対策術!

「温度tをパラメータとしてマクスウェル-ボルツマン速度分布関数のグラフを描画せよ」という課題をgnuplotを用いて行ったところ、温度が上がるにつれ最大値が減少するという性質が表れませんでした。

続いて、同じ関数のグラフをExcelを用いて描画したところ、今度は正しくマクスウェル-ボルツマン分布の性質を示していると思われるグラフが描画されました。

どういった理由でこのような差異が生じたのでしょうか?
また、gnuplotを用いてExcelと同様のグラフを描画するためにはどのようにすればよかったのでしょうか?

以下にその時に用いた関数、パラメータ、出力されたグラフを記します。

f(x,t)=4/sqrt(pi)*(m/2/k/t)**(3/2)*(x**2)*exp((-m*(x**2))/(2*k*t))

x:速度
m:原子質量 2.3e-26 [kg]
k:ボルツマン定数 1.38e-23
t:温度 300,500,1000 [K]

添付グラフ 左:gnuplotによる出力 右:Excelによる出力

「マクスウェル-ボルツマン分布関数のグラフ」の質問画像

A 回答 (3件)

gnuplotでは整数/整数はその商を返すので3/2が1.5ではなく1になるのが原因です。


3./2のように一方(or両方)に少数点を追加すれば1.5になります。最初から1.5と書いてしまってもいいでしょう。
    • good
    • 0
この回答へのお礼

ありがとうございます。そういう重要な特徴が合ったのですね。早いうちに把握できて助かりました。

お礼日時:2014/10/19 13:13

#1です。

間違えました。
maximaを使ってしまいました。
    • good
    • 0

特に問題ないです。



コードはつぎのとおり

[m:2.3e-26,k:1.38e-23];
f(x,t):=4/sqrt(%pi)*(m/(2*k*t))**(3/2)*(x**2)*exp((-m*(x**2))/(2*k*t));
plot2d([f(x,300), f(x,500),f(x,1000)], [x,0,3000]);
「マクスウェル-ボルツマン分布関数のグラフ」の回答画像1
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています