• ベストアンサー

エクセルのグラフから半値幅を求めたいです

例えば正規分布のようなデータをエクセルで作成しました(ピークがあるグラフになります。) そのグラフから半値幅をエクセル上で求めたいです。 内挿法も考えましたが扱うデータのサンプルポイント数が少なくて誤差が大きすぎるのです。 今はグラフをプリントアウトして定規と日比例計算から半値幅を求めています。 何か方法をご存じのかた教えていただけますか。

質問者が選んだベストアンサー

  • ベストアンサー
  • sat000
  • ベストアンサー率40% (324/808)
回答No.1

多分そこまで都合の良い方法は無いのではないかという気がします。 私が思いつく方法は2つです。 一つは、そのデータを関数で近似して(GaussianならGaussianで)、近似した関数から半値幅を計算する方法です。 これは近似が信頼できるのなら十分妥当な値が出ますし、もう一つの方法と比べて望ましい手法(理由は後述)です。 もう一つは、離散点の最大値の1/2になる値の幅を数値的に求める方法です。例えば、最大値をy0として、y=y0/2のx軸と平行な直線とデータとの交点を求め、その交点のx座標を半値半幅とします。 ただし、y0/2のラインとちょうど同じy値をデータが持つとは限らないので、少なくとも、近傍のデータ2点から直線を求め、その直線との交点を求める必要があります(できれば3点で2次曲線との交点にする等の方が精度が高くなる)。 こういうことをエクセルで行おうとすると、ワークシートでは無理で、Visual Basicでプログラムを組む必要があるでしょう。 そして何よりも、データに誤差が含まれている(バラつきがある)場合、最大値にも誤差が含まれることになりますから、y0/2にも誤差があり、そして交点を求めるために使用するデータにも誤差があり、ということで求める半値幅がどれくらい信頼できるかは分かりません。 その点、初めの方の関数で近似する方は、誤差が多少あっても近似が妥当であれば、そこそこ信頼できる値が求まるでしょう。 ただし近似(フィッティング)も、エクセルのワークシートだけだと難しいものもあるかもしれません(例えばGaussianのフィッティングはワークシートの関数では無理ではないかと思います)。 その場合はやはりプログラムを組む必要がありますし、その際、最小二乗法の勉強等も必要になるかもしれませんが、測定データ等を既知の関数でフィッティングするのはごくありふれた(ということは信頼できる)手法ですので、お勧めしておきます。 ただ、いずれの方法でも、あるいはいかなる方法でも、データ点数が少なすぎると、当然信頼度は下がります。 それは半値幅を求める手法に関する検討とは別の問題です。

sippu_t
質問者

お礼

sat000様 とても詳しく教えて頂き感謝いたします。 一番測定精度が良さそうなのは手間がかかりますが従来の手法かなと、 感じました。 真にありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A