ちょっと変わったマニアな作品が集結

ガウス関数 f(x)=a*e^-x^2について、半値全幅(FWHM)について求めたいのですが、方法が良く分かりませんでした。もしよろしければ教えてください。よろしくお願いします。
ただし、
√log^2 = 0.832として計算する。分かりにくくて申し訳ありません。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

f(x)=a*e^(-x^2)


は、x=0で最大値aだから、半値は、a/2です。
このときのxは、

a/2=a*e^(-x^2)
で、
1/2=e^(-x^2)
だから、両辺の対数を取ると、
log(1/2)=log(e^(-x^2))=-x^2
で、
x^2=-log(1/2)=log(2)
だから、
x=±√(log(2)=±0.832
だから、半値幅は、

0.832-(-0.832)=1.664

だろうね。

式の変形なんか基本的なことだから、わからないなんて言わないように勉強する。
    • good
    • 0
この回答へのお礼

詳しく解説していただいてありがとうございます。解答者様と言うとおり、自分の勉強不足でした。

お礼日時:2011/02/21 01:55

このQ&Aに関連する人気のQ&A

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

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

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

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

Aベストアンサー

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

多分そこまで都合の良い方法は無いのではないかという気がします。
私が思いつく方法は2つです。
一つは、そのデータを関数で近似して(GaussianならGaussianで)、近似した関数から半値幅を計算する方法です。
これは近似が信頼できるのなら十分妥当な値が出ますし、もう一つの方法と比べて望ましい手法(理由は後述)です。
もう一つは、離散点の最大値の1/2になる値の幅を数値的に求める方法です。例えば、最大値をy0として、y=y0/2のx軸と平行な直線とデータとの交点を求め、その交点のx座標を半値半幅とします。
...続きを読む

Qガウシアン関数へのフィッティングについて

現在、ガウシアン関数y=a+b*exp(-(x-c)^2/d^2)に下記のようなデータを使用しフィッティングを行いたいのですが、
手法やパラメータa,b,c,dの求め方がわかりません。
どなたか教えていただけませんか。
よろしくお願いいたします。
(x,y)={
48.8006092
48.8056105
48.8105942
48.8156000
48.8206021
48.8256127
48.8306131
48.8356169
48.8406146
48.8456077
48.8506141
48.8556236
48.8606115
48.8656179
48.8706296
48.8756176
48.8806272
48.8856294
.....}

Aベストアンサー

Excelしか使えないのであれば、ソルバーを使って、以下の手順で「残差2乗和」を最小とするパラメータ a, b, c, d を探すと良いでしょう。ただし、パラメータの初期値があまりかけ離れていると変な値に収束するか解が見つかりません。a, b, c は元のデータのグラフから見当をつけられると思います( a はベースライン高さ、b はピーク高さ、 c はピーク位置x)。d は直感では見当をつけられないので、(ピークの半値全幅)/1.67 で計算してそれを初期値としてください。

【ソルバーを使った最小自乗法】
(1) Excelのメニューの [ツール] → [アドイン] で [ソルバーアドイン] の左側の□をチェックして OK
(2) A列に x データ、B列に y データを書き込む( x は A1 から、y は B1 から下方向に書き込む)
(3) D1からD4にフィッティングパラメータの初期値を書き込む(a → D1、b → D2、c → D3、d → D4)
(4) セル C1 に以下の式を貼り付ける(これをCopy&Paste)
   =($D$1+$D$2*EXP(-1*(A1-$D$3)^2/($D$4)^2)-B1)^2
(5) セルC1をコピーして、C2以下の全データ分のC列にペースト(これでC列=「残差2乗」となる)
(6) セルD5 に =sum(C1:C??)と書く(??はC列最後の行番号)
(7) Excelのメニューの [ツール] → [ソルバー] で [目的セル」を $D$5、[目標値] を 最小、[変化させるセル]を $D$1:$D$4 とする。この意味は、「セルD1~D4に書かれている数値を変化させて、 D5セルを最小となるようにする」ということです。
(8) ソルバーウィンドウのオプションボタンをクリック → 制限時間を 1000、反復回数を 1000、精度・公差・収束をすべて 1e-10 とし、OKをクリック
(9) ソルバーウィンドウの実行ボタンをクリック
(10) フィッティングパラメータが見つかったら、「最適解が見つかりました・・」と出るので、OKをクリック
(11) ExcelのセルD1~D4にフィッティングパラメータが書き込まれている

なお、精度・公差・収束の値をあまり小さくすると収束しないので、もしデータのばらつきが大きくて収束しないときは、これらの値を適宜、大きくしていってみてください。ご質問のデータはGaussianのほんの1部でしたのでこちらで実験することはできませんでした。ちなみに私は通常、カレイダグラフというグラフソフトで任意関数のフィッティングをやっています。

Excelしか使えないのであれば、ソルバーを使って、以下の手順で「残差2乗和」を最小とするパラメータ a, b, c, d を探すと良いでしょう。ただし、パラメータの初期値があまりかけ離れていると変な値に収束するか解が見つかりません。a, b, c は元のデータのグラフから見当をつけられると思います( a はベースライン高さ、b はピーク高さ、 c はピーク位置x)。d は直感では見当をつけられないので、(ピークの半値全幅)/1.67 で計算してそれを初期値としてください。

【ソルバーを使った最小自乗法】
(1...続きを読む

Q半値幅の測り方

半値幅の測り方は知っているのですが、少しわからないところがありますので、教えていただきたいです!!
今、あるデータをExcelに取り込んでグラフを表示しています。ここで、いくつかのピーク値があるので、そのピークごとの半値幅を測って、ピークの高さ×半値幅で積分強度を出さなければいけません。

で、横軸が角度2θ、縦軸がピークの高さです。ピークの高さはそのままの値を取り出せばよいのですが、半値幅の単位って何でしょうか??半値幅をはかりやすいようにグラフを大きくして測ったりすると、半値幅をものさしなどで測ると半値幅の長さ変わってきてしまいます。
この半値幅の単位というのは、角度なんでしょうか??

質問の仕方が下手ですいませんがよろしくお願いします。。。

Aベストアンサー

半値幅であれ10分の1幅であれ、何であれ、分布の広がりの幅。分布の広がりをいうとき、それは重さだったり長さだったり、千差万別だけどそれを知らずにデータ整理なんてできませんよね。ヒストグラムを描くとき、横軸にふる値でその単位は決まるでしょ?
あなたの場合は角度。
だから、あなたのグラフの横軸は角度でなくてはなりません。
エクセルにグラフを描かせるとき、縦軸の値だけしか入れてないのではないですか?そしたら横軸は単にデータの番号になります。ちゃんと横軸の値も入れてグラフを描かせればすむ話かと思いますが。

Qガウス形とローレンツ形

波形でよく出てくるガウス形とローレンツ形ですが、これら半値幅とピークの高さがわかれば形が決まりますよね。
そこで、半値幅とピーク高さの値が求まったとして、面積を求めたいと思っています。半値幅とピーク高さでガウス形とローレンツ形の面積を表わすことができるのでしょうか?面積の公式ってあるのでしょうか?

数学に詳しい方、よろしくお願いいたします。

Aベストアンサー

ガウス(Gauss)型曲線は
(1)  G(x) = A exp(-a^2 x^2)
です.中心は x=0 としています.
曲線と x 軸との間の面積 S はよく知られた公式で
(2)  S = ∫{-∞~∞} G(x) = (A/a)√π
です.
一方,ピーク値はもちろん A,
半値幅 w は,高さがピーク値の半分になる幅ですから,
x=±w/2 で G の値が A/2.
すなわち
(3)  exp(-a^2 w^2 / 4) = 1/2
で,これから
(4)  w = 2√(ln 2)/a  ⇔  a = w/2√(ln 2)
です.
(4)を(2)に代入して,ピーク値 A を考慮すればできあがり.

ローレンツ(Lorentz)型は
(5)  L(x) = B/(x^2 + Γ^2)
の形.前と同じく中心は x=0 としています.
ピーク値は x=0 とおいて B/Γ^2 ですね.
こちらも面積の積分は簡単で
(6)  S = ∫{-∞~∞} L(x) = Bπ/Γ
半値幅は
(7)  B/{(w/2)^2 + Γ^2} = (1/2) B/Γ^2
から
(8)  w = 2Γ  ⇔  Γ = w/2
(6)に(8)を代入して,ピーク値 B/Γ^2 を考慮すればできあがり.

ガウス(Gauss)型曲線は
(1)  G(x) = A exp(-a^2 x^2)
です.中心は x=0 としています.
曲線と x 軸との間の面積 S はよく知られた公式で
(2)  S = ∫{-∞~∞} G(x) = (A/a)√π
です.
一方,ピーク値はもちろん A,
半値幅 w は,高さがピーク値の半分になる幅ですから,
x=±w/2 で G の値が A/2.
すなわち
(3)  exp(-a^2 w^2 / 4) = 1/2
で,これから
(4)  w = 2√(ln 2)/a  ⇔  a = w/2√(ln 2)
です.
(4)を(2)に代入して,ピーク値 A を考慮すればできあがり.

ローレンツ(Lorentz)...続きを読む

Q波長(nm)をエネルギー(ev)に変換する式は?

波長(nm)をエネルギー(ev)に変換する式を知っていたら是非とも教えて欲しいのですが。
どうぞよろしくお願いいたします。

Aベストアンサー

No1 の回答の式より
 E = hc/λ[J]
   = hc/eλ[eV]
となります。
波長が nm 単位なら E = hc×10^9/eλ です。
あとは、
 h = 6.626*10^-34[J・s]
 e = 1.602*10^-19[C]
 c = 2.998*10^8[m/s]
などの値より、
 E≒1240/λ[eV]
となります。

>例えば540nmでは2.33eVになると論文には書いてあるのですが
>合っているのでしょうか?
λに 540[nm] を代入すると
 E = 1240/540 = 2.30[eV]
でちょっとずれてます。
式はあっているはずです。

QExcelでGaussian fittingをしたいのですが、どうすれば良いですか?

A1・・・A1001にx軸の値が
B1・・・B1001にy軸の値が入っているとします。
このデータをグラフ化したのちに、ガウシアン関数y=a+b*exp(-(x-c)^2/d^2)に対してフィッティングを行い、それぞれの定数を算出及び、その算出されたグラフを上に乗せるということをしたいのですが、
Excel VBAを使ってどのようにすれば良いのでしょうか?

また、ピークが1本ではなく2本ある場合Multipeak Gaussian fittingというものでそれぞれのピークに対してフィッティングすることもできるそうなのですが、できればその方法についても教えて頂けないでしょうか?

自分でひな形くらい作って質問したいところですが、全くどうやって作れば良いのか検討もつかないのでどなたかよろしくお願い致します。

Aベストアンサー

こんにちは、

http://nuclear.phys.tohoku.ac.jp/~ykoba/latex2html/gaussian-fitting/

これのことですか???

これのことなら、二次の最小二乗法を理解していれば
でるようですが、

これの事とは、違うのですか。
若干ガウシアンの式の形が違うようですが。


マルチは、ちょっと解りません。

Qガウス関数と正規分布と関係について教えて下さい。

Wikiによれば正規分布はガウス関数の部分集合だそうですけど、
ではこれらはどうやって使い分ければ良いのでしょうか?
例えば論文を見ていると結構ガウシアンフィッティングというのを行っていますが、これっておかしくないでしょうか?
実験データの統計をとるためにはガウシアンフィッティングではなく
正規分布フィッティング(?)みたいなものを使う必要があると思うのですが・・・

Aベストアンサー

ガウス関数とガウス分布(密度関数)と正規分布(密度関数)を混同しないようにして下さい。
ガウス分布(密度関数)と正規分布(密度関数)は同じものです。
ガウス関数は分布関数そのものではなく、もっと広い意味の関数です。
言い換えれば、ガウス関数の中の定数に、
分布関数の制約を付加したのがガウス分布(密度関数)と言えます。
ガウス分布は(密度)パラメータとして標準偏差や平均値を使って表現しますが、
f(x)=exp(-x^2)とおくと
ガウス関数はa,b,mをパラメータとする
a*f(b(x-m))
の形の関数をいいます。
定数にガウス分布関数のパラメータと1:1の対応が付けられますので、
>ガウシアンフィッティング
>正規分布フィッティング
のどちらでも本質的な違いではありません。
なので、簡単な係数のガウス関数
a*exp{-b*(x-m)^2} (a>0,b>0)
でフィッテングを行い、
それをa=k/{σ√(2π)},m=μ,b=1/{2σ~2}となるようにk,μ,σに換算してやれば
ガウス分布(正規分布)密度関数
1/{σ√(2π)}*exp{-(-1/2)(x-μ)^2/σ^2}
になります。

詳細は、ガウス関数とガウス分布・正規分布の参考URLで確認ください。

ガウス関数
http://ja.wikipedia.org/wiki/%E3%82%AC%E3%82%A6%E3%82%B9%E9%96%A2%E6%95%B0

ガウス分布(正規分布)密度関数
http://www.tokyo-kasei.ac.jp/~matsuki/jyugyo/johokatuyou/jokatu-2.pdf
http://ja.wikipedia.org/wiki/%E6%AD%A3%E8%A6%8F%E5%88%86%E5%B8%83

ガウス関数とガウス分布(密度関数)と正規分布(密度関数)を混同しないようにして下さい。
ガウス分布(密度関数)と正規分布(密度関数)は同じものです。
ガウス関数は分布関数そのものではなく、もっと広い意味の関数です。
言い換えれば、ガウス関数の中の定数に、
分布関数の制約を付加したのがガウス分布(密度関数)と言えます。
ガウス分布は(密度)パラメータとして標準偏差や平均値を使って表現しますが、
f(x)=exp(-x^2)とおくと
ガウス関数はa,b,mをパラメータとする
a*f(b(x-m))
の形の...続きを読む

Q光学伝導度とは

光学伝導度(optical conductivity)σ(ω)とは何ですか?
一応、物理学辞典と理化学辞典を見てみましたが、ありませんでした。
基本的なことでいいので、回答ください。
また、おすすめの本があれば教えて下さい。

Aベストアンサー

Maxwell's Equations で物質中を考える場合、電流密度J = σE とするのはご存知ですね。
(Eは電界)
このσを伝導度ということもご存知と思います。
周波数の低い場合の電気伝導度でもありますね。(伝導度=抵抗の反対で電気の流れやすさ)

光学伝導度は、平たく言うと光学領域(つまり非常に高い周波数領域)での伝導度を表したものです。

Q大学院別のTOEICの合格点を教えてください。

大学院入試でTOEICの点数を英語の点数として換算している大学院が多くあると知ったのですが大学院別にどのぐらいが合格点なのでしょうか?
東大の院生の平均点が730というデータはネットでみたのですが他のいろいろな大学院について教授からや友達からの情報でもいいので参考にさせてください。

Aベストアンサー

このサイトに、大学院入試でTOEIC(R)Testを活用する52の大学院が、
国公立、私立別で掲載されており、
ある一定のスコアで、英語の独自試験免除など、詳しい情報が見れます!

参考URL:http://www.toeicclub.net/graduateschool.html

Q波数の意味と波数ベクトル

確認したい事と質問があります。

波数kというのはある単位長さ当たりに存在する1周期分(1波長分)の波の数で合っていますでしょうか?数と言っても単純に「波が1000個もある!」という意味ではなく、「ある単位長さ中に1個の波が含まれる」という感じで個数というより割合に近い物だと解釈してるのですが大丈夫でしょうか?
一般に波数kは波長λを使って、k=2π/λ、もしくはk=1/λと表されます。用いる単位系によって違いますが、ここでは分かりやすくk=1/λを例に取ります。例えばλ1=100[m]の波の波数はk1=1/100[m]となり、これは「100m中に1個の波がある」という意味であり、λ2=2[m]の波の波数はk2=1/2[m]となり、「2m中に1個の波がある」という意味で、いずれもk<1なのはどれくらいの割合で波が1つあるのかという事を表してるのだと思っています。k2は2[m]中に1つの波があるので、仮にその波を100[m]にも渡って観察すれば、その中に50個も波が存在する。一方、k1は100[m]内に1個しか波が存在しない。よってk2の波の方が波の数が多い波である。以上が波の「数」なのに次元が長さの逆数を取る理由だと解釈してるのですが、合っているでしょうか?

また、(正否は分かりませんが)波数kを以上のように考えているのですが、波数ベクトルという概念の理解に行き詰まっています。個数であり、長さの逆数を取る量がベクトル量で向きを持つというイメージが掴めません。本にはkx、ky、kzと矢印だけはよく見かけるのですが、その矢印がどこを基準(始点)としてどこへ向いているのか(終点はどこなのか)が描かれていないので分かりません。波数ベクトルとはどういう方向を向いていて、それはどういう意味なのですか?一応、自分なりに描いてみたのですが下の図で合っているでしょうか?(1波長置きに存在するyz平面に平行な面に直交するベクトルです)

私の波数の考えが合っているか、波数ベクトルが図のようで合っているかどうか、波数ベクトルとは何かをどなたか教えて欲しいです。

確認したい事と質問があります。

波数kというのはある単位長さ当たりに存在する1周期分(1波長分)の波の数で合っていますでしょうか?数と言っても単純に「波が1000個もある!」という意味ではなく、「ある単位長さ中に1個の波が含まれる」という感じで個数というより割合に近い物だと解釈してるのですが大丈夫でしょうか?
一般に波数kは波長λを使って、k=2π/λ、もしくはk=1/λと表されます。用いる単位系によって違いますが、ここでは分かりやすくk=1/λを例に取ります。例えばλ1=100[m...続きを読む

Aベストアンサー

上の内容については私の前に書いていらっしゃる方がいるので波数ベクトルについて述べたいと思います。
あなたはどうやら波をx軸方向に進む高校で習うような波で想像しているものと思います。
しかし、現実で見かける波(たとえ水面の波紋)はz=Asin( √(kx^2+ky^2) )のようにx方向y方向に伝搬しています。このとき波は同心円状に広がるので、x方向、y方向の波数はそれぞれkという定数で表すことができます。(下のリンクを参考に)
http://www.wolframalpha.com/input/?i=sin%28sqrt%28x^2%2By^2%29%29
このとき、x方向の波数は1、y方向の波数も1、z方向に波はないので波数は0となり、波数ベクトル
K=(kx,ky,kz)=(1,1,0)
のように表すことができます。

さらに発展して考えたとき、x方向とy方向の波数が違っていてもいいですよね(下のリンクのような)
http://www.wolframalpha.com/input/?i=sin%28sqrt%28x^2%2B0.3*y^2%29%29
こうなるとx方向の波数は1、y方向の波数は0.3、z方向に波はないので波数は0となり、波数ベクトル
K=(kx,ky,kz)=(1,0.3,0)
のように表すことができます。

このように波数ベクトルは、現実の波をx,y,z成分で分けたときのそれぞれの波長(λx,λy,λz)から求めたものなので、あくまで波がどういう形になるのかしか分かりません。
なので波の始点や終点という概念はありません。
この波数ベクトルの利点は、たとえば現実空間で
y=sin(1*x)+sin(2*x)+sin(3*x)+sin(4*x)+・・・+sin((n-1)*x)+sin(n*x)
を考えるととても複雑なグラフとなりますが、波数空間ではkx=1,2,・・・.nの点の集合として表すことができます。(よくいわれるスペクトル表示的なものです)



波数ベクトルを現実世界の何かとして考えることはあまりないので割り切ってしまった方が楽かもしれません。

上の内容については私の前に書いていらっしゃる方がいるので波数ベクトルについて述べたいと思います。
あなたはどうやら波をx軸方向に進む高校で習うような波で想像しているものと思います。
しかし、現実で見かける波(たとえ水面の波紋)はz=Asin( √(kx^2+ky^2) )のようにx方向y方向に伝搬しています。このとき波は同心円状に広がるので、x方向、y方向の波数はそれぞれkという定数で表すことができます。(下のリンクを参考に)
http://www.wolframalpha.com/input/?i=sin%28sqrt%28x^2%2By^2%29%29
このと...続きを読む


このカテゴリの人気Q&Aランキング