両対数グラフ

初めてその存在を知ったとき、狂気の沙汰かと思った。

[
前の記事へ]  [物理数学の目次へ]  [次の記事へ]


またグラフ用紙を紹介

 前回は縦軸だけを対数で表す「片対数グラフ」の説明をしたが、今回は縦軸も横軸も対数目盛で表した「両対数グラフ」の話をしよう。

 そのようなものもちゃんと売っているのである。

 中身は次のような感じに線が引かれている。


クリックで全体を表示

 今回も印刷してじっくり眺めてみたい人のためにA4版のPDFファイルを用意してみた。

 片対数グラフの場合は、用紙の向きを変えて色んな使い方ができるよということを書いたのだが、今回は縦も横も対数目盛なので、向きを変えても意味がないどころか、使える方向が決まってしまっている。
 ここで気付いたのだが、私が作ったものは縦長にして使うように線を引いてあるが、 上に置いた Amazon の商品リンク先のものは横長にして使うように線を引いてあるようだ。 私が学生の頃に使っていたのは縦長だったのでそれが普通かと思いこんでいたのである。


何に使うのか

 片対数グラフの場合には急激に変化する量を一つの図の中に収めて表すのに都合がいいのだった。しかし今回は横軸も対数目盛にしてあって、横軸の量が大きく変化すれば縦軸の量だって大きく変化するのは当たり前だという気がする。そういうことは普通のグラフでやればいいことなのではないだろうか?

 横軸の量がごく微小である領域における振る舞いと、かなり大きくなった領域での振る舞いをわざわざ一つの図の上に表す目的があるはずだ。どの領域でも変わらない一定の性質があることを示したいのだろうか? 縦軸と横軸が比例関係にあると言いたいだけなら、そこまでやる必要もなさそうだ。横一直線のグラフが出来てくれば、「ああ、何かが一定なのだな」というのが感じられるが、この両対数グラフで横一直線だと横軸がいくら変化しても縦軸の量が少しも変化していないということになってしまう。だから両対数グラフ上での直線に意味があるとしても少しは傾いていてくれないと面白くはないだろう。

 というわけで、もし両対数グラフの上に直線が描かれていたらどういう意味になっているのかというのを調べてみよう。

 今回はグラフ用紙上の実際の位置\( (X,Y) \)
\[ \begin{align*} X \ &=\ k \, \log_{10} x \\ Y \ &=\ k \, \log_{10} y \end{align*} \]
という変換によって表示していることになるのだから、グラフ上の直線というのは
\[ \begin{align*} Y \ =\ a \,X \ +\ b \end{align*} \]
という式で表されることになる。つまり、このときの生のデータ\( (x,y) \)の関係は
\[ \begin{align*} k \, \log_{10} y \ =\ a(k \, \log_{10} x) \ +\ b \end{align*} \]
という式で表される。これを分かりやすい形に変形してみよう。
\[ \begin{align*} \log_{10} y \ &=\ a \, \log_{10} x \ +\ b/k \\ \therefore\ \log_{10} y \ &=\ a \, \log_{10} x \ +\ \log_{10} C \\ \therefore\ \log_{10} y \ &=\ \log_{10} (C\, x^a) \\ \therefore\ y \ &=\ C\, x^a \end{align*} \]
 両対数グラフ上の傾き\( a \)の直線は、\( x \)の何乗に比例するのかというのを表しているのである。

 \( x \)\( y \)がただの比例関係だった場合には直線の傾きは比例定数\( C \)に関係なくどれも 1 であり、比例定数の違いは位置の上下に反映されることになる。

 結局、両対数グラフというのは、\( x^4 \)\( x^5 \)のような、急激に増加はするが指数関数の勢いには負ける程度のものを表すのに都合が良いと言えるだろう。また、\( x^{2.03} \)などのような、整数乗からの微妙なズレを実験的に割り出すのにも役立ちそうだ。


解説の途中ですが広告です


傾きの求め方

 傾き\( a \)を求めるのは難しくはない。縦軸と横軸の縮尺が同じなので定規を当てて測ってもいいくらいであるが、次のような計算でも求めることができる。
\[ \begin{align*} a \ &=\ \frac{Y\sub{2}-Y\sub{1}}{X\sub{2}-X\sub{1}} \\[5pt] &=\ \frac{\log_{10} y\sub{2}-\log_{10} y\sub{1}}{\log_{10} x\sub{2}-\log_{10} x\sub{1}} \end{align*} \]
 ここでは常用対数を使っているが、底の変換公式を使えば分母と分子がちょうど同じ割合で変化するので、自然対数を使っても同じ値になる。

 直線上の 2 点のグラフの読み値である\( (x\sub{1},y\sub{1}) \)\( (x\sub{2},y\sub{2}) \)さえ分かればこのような計算が行えるのだから、たとえ縦軸と横軸の縮尺が違っている両対数グラフを使っていても同じ結果になるだろう。

 \( a \)が求まってしまえば比例定数\( C \)の値を求めるのは簡単である。グラフ上のどこか一点の\( (x,y) \)の読みを\( y = C x^a \)に当てはめてやるだけでいい。


雑談

 この記事を書きながら考えたことをちょっとメモしておこう。役に立つようなものではないので、わざわざ読む必要はない。

 今、\( C \)の値を簡単に求めることができてしまったが、他の方法で調べることはできないだろうか? そもそも\( C \)というのは
\[ \begin{align*} \log_{10} C \ = b/k \end{align*} \]
という置き換えをして導入された定数だったのだから、\( C = 10^{b/k} \)なのである。この\( b/k \)というのをグラフから得ることができればいいのだが、それはグラフのどの点を意味しているだろうか?

 \( b \)というのは\( Y \)切片なのだが、両対数グラフ上には原点のようなものがないのでどこを基準にして考えたらいいかが分からない。\( y = C x^a \)というのは、\( a>0 \)であれば\( (x,y)=(0,0) \)であるような点を通るであろうが、その点は両対数グラフ上では左下方向の無限の彼方である。

 そこまで考えると不思議なものである。両対数グラフ上の傾きが正である直線というのはどれも左下方向の無限の彼方にあるはずの一点を目指しているはずなのに、それぞれが全く違う方向に向かって進んでいたり、どこまでも平行だったり、途中で交わったりもしてしまうのである。

 まぁ、それはさておき、仕方ないから、このグラフが無限の広さを持つ平面だと考えて、その平面上のどこかにあるはずの\( x=1 \)かつ\( y=1 \)であるような点をグラフの原点として採用してみよう。そこが\( X=0 \)かつ\( Y=0 \)であるということになる。

 \( Y=aX+b \)という関係になっているのだから、今知りたい\( b \)というのは\( X = 0 \)のときの\( Y \)の値である。つまり、\( x=1 \)のときの\( Y \)が知りたい。\( Y \)というのは\( k \log_{10} y \)だったから、それが\( b \)だということは、
\[ \begin{align*} b = k \log_{10} y(x=1) \end{align*} \]
 よってこれを\( C = 10^{b/k} \)に代入してやると、
\[ \begin{align*} C \ =\ 10^{b/k} \ =\ 10^{\log_{10} y(1)} \ =\ y(1) \end{align*} \]
となる、と。\( C \)というのは\( x=1 \)のときの\( y \)の値ですよ~!堂々巡りというか、当たり前の結果が出ただけじゃないか。矛盾が出なかっただけマシか。

 \( x=1 \)になるような点は紙のグラフから遥かにハミ出したところに存在している可能性のほうが高いから、この方法は全く実用的ではない。

 原点が紙の上に来るように\( X = 0 \)の位置をずらして公式を考えてやればいいのだろうが、ずらした距離と傾きから\( y \)の値を求めたりすることになるので、おそらく、先ほどやったのと同じ内容の計算をすることになるだけなのだろう。自分としては納得したので、これくらいでやめておこう。