• 締切済み

指数関数近似を行うプログラムを早急に作成する必要があり、

指数関数近似を行うプログラムを早急に作成する必要があり、 質問させていただいています。 理論上、 y=a1・e^(a1・x)+a2・e^(a2・x) (*) でフィッティングできる実験データがあり、 この実験データを理論式(*)で近似するプログラムを作成したいのですが、 どのようにして実現したらいいのか悩んでいます。 y=a1・e^(a1・x)でしたら対数をとる、等が考えられますが、 上記の例の場合、どのような理論に基づいてa1、a2を求めたらいいのでしょうか。 わかりやすい参考書等もおススメあれば教えていただけたらと思います。 プログラム言語はどのようなものでもかまいません。 よろしくお願い致します。

みんなの回答

  • spring135
  • ベストアンサー率44% (1487/3332)
回答No.3

y=a1・e^(a1・x)+a2・e^(a2・x) は指数関数の和として定義されてますが、a1,a2の効果が強くでます。 a1,a2の正負はどうなっていますか。 最も解りやすいのは片対数用紙にプロットすることです。y=a1・e^(a1・x)とy=a2・e^(a2・x) は各々直線になりこれらの和として、y=a1・e^(a1・x)+a2・e^(a2・x)が描けます。 逆にデ-タをプロットして2つの直線に分解する方法を見つければよろしい。

  • f272
  • ベストアンサー率46% (8010/17118)
回答No.2

その程度の式ならエクセルのソルバーで十分だと思う。 A列に実験データのxを B列にそれに対応する実験データのyを C列に実験データのxから理論式を使って求まるyを(A列の数値と↓で入力するD1,D2の数値を使えばOK) D1にa1の初期値を D2にa2の初期値を D3に(B列の数値-C列の数値)の平方和を 入力すれば,あとはソルバーを使ってD1とD2を動かしながらD3を最小化するだけ。

回答No.1

非線形の最小二乗法ですね。 私以外の回答者が詳しく説明されているので、参照してください。 http://okwave.jp/qa/q5842131.html 私は、ここで書くには少々複雑過ぎる話だと思うので、 上の過去QAで納得できなければwebを検索してください。

関連するQ&A

  • 指数関数近似を行うプログラムを早急に作成する必要があり、

    指数関数近似を行うプログラムを早急に作成する必要があり、 質問させていただいています。 理論上、 y=a1・e^(a1・x)+a2・e^(a2・x) (*) でフィッティングできる実験データがあり、 この実験データを理論式(*)で近似するプログラムを作成したいのですが、 どのようにして実現したらいいのか悩んでいます。 y=a1・e^(a1・x)でしたら対数をとる、等が考えられますが、 上記の例の場合、どのような理論に基づいてa1、a2を求めたらいいのでしょうか。 わかりやすい参考書等もおススメあれば教えていただけたらと思います。 プログラム言語はどのようなものでもかまいません。 よろしくお願い致します。

  • 実験データの指数近似曲線を求めたいのですが・・・

    今,修論の実験データを指数近似したいのですが, [ y=A*exp(Bx)+C ]の形で求めたいのです. EXCELではおそらく定数項Cが求められませんし, 僕が見つけたフリーソフトでは自然対数eが使われていません. こんな都合の良いソフトがあるでしょうか? それともEXCELのマクロ等をいじって実現できるでしょうか? もしご存知の方がいましたら是非教えて下さい!! 宜しくお願いします.

  • Excel 指数近似直線の式から値を求める方法

    実験データをExcelで処理していたのですが、得られた値が片対数グラフにプロットすると直線状になるため、指数近似直線を表示しました。 すると以下の式が得られたので、これを使ってxからyの値を求めたいです。 y=85.603e^(-0.0648x) そのまま式として代入してはみたのですが、うまくいきませんでした。 Excelを使って算出するにはどうしたらよいのか教えてください。

  • エクセルで指数近似の式を出したいです。

    エクセルのグラフの近似曲線の「近似曲線の追加」で指数近似曲線を描き、近似曲線の式を出力する事ができましたが、 この式をグラフ作成せずにエクセルで出す方法を教えてください。 式 y=αe^(βx) x=1,2,3,4,5 y=80,85,90,95,100 のときのαとβが出したいです。 宜しく御願いします。

  • 指数関数から対数関数の変形

    指数関数から対数関数の変形 y=e^ax を x=logの形にしたいのですが… y=e^x x=logx とできるのですが、aがつくとどうもよく分かりません。

  • 指数関数で。

    こんにちは。 片対数グラフ用紙で指数関数のグラフを作りました。 検量線も書こうと思うのですが、指数関数の近似直線を求める式はありますか? y=aexp(x)という式を作りたいのです。 Excelではなく、手計算で求めたいのですが、公式か何かありますか? 参考になりそうなHPでも構いません。 分かる方、お願いします。

  • 指数関数の導関数の公式

     「指数関数 x=e^y は対数関数 y=logx の逆関数だから、逆関数の導関数の公式と対数関数の導関数の公式 dy/dx=1/x を用いるとdx/dy=1/(dy/dx)=1/(1/x)=x=e^yとなり、指数関数の導関数の公式(e^y)'=e^yが得られる、○か×か」という問題がわからないのですが、教えて下さい!

  • VBかエクセルでの指数近似のやり方について教えてください.

    VBかエクセルでの指数近似のやり方について教えてください. あるサンプルデータの指数近似をやろうと思っています.指数近似曲線y=a*exp(bx)の定数aとbを求めようと思っておりますが,同時にサンプルデータの点数も変更しながら計算しようと思っております.指数近似の場合,例えば定数bを算出するときエクセルでは =INDEX(LINEST(LN(H2:H23),G2:G23),1) と書いています.つまり近似する対象となるサンプルデータの点数が変わると指定範囲(H2:H23)に空白セルや0の部分が出来てしまいます.VBだとfor文でそれらを回避することが出来るのですが,今度はVBでの指数近似のやり方(プログラム)がわかりません. どなたか教えていただけないでしょうか?

  • Excelで指数近似ができない

    時間とともに液滴の振動が小さくなっていくような実験をし、 横軸に時間、縦軸に大きさの数値(中心からの距離の値です) を指定して散布図でグラフを書きました。 理想状態だと、振動は指数関数的に減衰していくハズなので、 指数関数で近似を行いました。 ほとんどのデータでは指数近似が行えたのですが、 ひとつだけ、指数近似が"選べない"データがありました。 確かにデータを見ると、その時のデータはあまり指数関数っぽくない 減衰をしてしまっているので、近似できなくても仕方がないのかなぁと 思いはしたのですが、なぜ出来ないのか、分かりますでしょうか?

  • エクセルの指数近似曲線の式から値を計算する

    有るデータを元に指数近似曲線を描かせると「y = 2E+08e-0.098x R² = 0.9847」と出ました。 インターネット等を参考にしてエクセルで値を計算させようとして以下の式を作りましたが計算結果が全く元データと合いません、何が間違っているのでしょうか?教えて下さい。 y = 2E+08e-0.098x⇒y=2*POWER(10,8)*EXP((-0.098*x))