[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dennou-ruby:002498] Re: treatment of -inf
- To: dennou-ruby@xxxxxxxxxxx
- Subject: [dennou-ruby:002498] Re: treatment of -inf
- From: Takeshi Horinouchi <horinout@xxxxxxxxxxxxxxxxxx>
- Date: Fri, 11 Nov 2005 09:38:12 +0900
堀之内です.
> エネルギースペクトルを log スケールでプロットしたいんですが,
> エネルギーが 0 の点で ruby の算術関数 log10 が -inf を返して
> しまい, その後の描画でそのあつかいに困ってしまいました.
> このような場合, どう処理するのが適切でしょうか.
>
> 例えば dcl の欠損値機能を用いて log10 が -inf を返すと欠損値を代入
> しておいて描画作業する, なんてことは可能でしょうか?
> あるいはもっといい方法ありますでしょうか.
私なら、log 表示でゼロ付近の値が含まれることもある場合は、値域
(あるは表示最小値だけ)を決めちゃいます。0 ピッタリじゃなくても、
突出して 0 に近い値がたまたま含まれる場合、自動スケーリングだと
そこに引きずられて見辛い図になりますので。
ちなみに -inf の処理はできます。例えばこう
require "narray"
na = NMath::log10( NArray.float(3).indgen! )
neg_inf = -1.0/0.0
na[ na.eq(neg_inf) ] = -999.0