複数の点を通る曲線の指数関数近似の計算方法
- 複数の点(x, y)を通る曲線を指数関数(y = a^x + c)で近似する方法について学びましょう。
- 指数関数の近似には、与えられた座標点を利用して指数aと定数cを求める必要があります。
- また、未知の変数が2つ(aとc)の場合、2つの近似座標があれば指数関数を確定することができます。
- ベストアンサー
複数の点(x,y)を通る曲線を,指数関数(y = a^x + c)ので近似するときの計算方法
初歩的な質問ですみません. 複数の点(x, y)の近くを通る指数関数(y = a^x + c)を, 近似で出したいとき,指数aや定数cの求め方についてです. ■前提条件 ・y = f(x) = a^x + c とする (a:指数,c:定数) ・座標1 (x1,y1)=(50,5)の近くを通って欲しい ・座標2 (x2,y2)=(1000,30)の近くを通って欲しい ■解法の糸口(自分でやってみたこと) ・y=a^x は,a=y^(1/x),またx=log_a(y) ともかけるので, 1.とりあえずcは無視して,座標1を代入すると, 5=a^50 ⇔ a=5^(1/50)=1.032712419896443 2.座標2を代入すると, 30=a^1000 ⇔ a=30^(1/1000)=1.0034069880166463 3.1.と2.の答えが違っているため,どちらをどう使っていいかわからない しかも,まだcは考慮できていない. Webでも調べたりして,いろいろ試行錯誤したのですが, 頭が混乱してきて,お手上げ状態になってしましました…. よろしければ,導出方法を計算過程を記して教えていただけると嬉しいです. 必要に応じて,関数電卓をお使いください. ※a^bを計算するときは,pow(a,b)と入れないと正しい答えを返しませんのでご注意ください. http://tomari.org/main/java/dentaku_kansuu.html ※ちなみに,指数関数y=a^x+cは,座標が最低何個わかればaとcが求まるのでしょうか? 未知の変数の数は2個(aとc)なので,2個あれば確定するのでしょうか. N個の近似となると別に確定する必要はないのですが,知っておかないといけない情報かもしれません. ちなみに,これまで関数近似については,最小二乗法(直線の近似)以外, 高校以来,あまり勉強したことはありません. (つまり,指数関数の本質,数学的な知識は乏しいです….) 以上です,よろしくお願いいたします.
- merusaia
- お礼率92% (12/13)
- 数学・算数
- 回答数2
- ありがとう数8
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
補足(1) a^50(a^950-1)-25 = 0 を解けばいいですが、 excelでやるなら、ソルバーの機能を使えばいいでしょう。 正直、私はexcelには詳しくないので 「excel ソルバー」とかで検索してみるといいと思います。 補足(2) 普通は最小二乗法を使います。excelでやるならこれもソルバーでできます。 http://homepage1.nifty.com/gfk/square_solver.htm に、N次関数で近似する例が載っていますが、指数関数で近似する場合も同様にできます。
その他の回答 (1)
- rabbit_cat
- ベストアンサー率40% (829/2062)
>※ちなみに,指数関数y=a^x+cは,座標が最低何個わかればaとcが求まるのでしょうか? >未知の変数の数は2個(aとc)なので,2個あれば確定するのでしょうか. その通り。 というわけで、未知数がa,cの2個で、座標1 (x1,y1)=(50,5)、座標2 (x2,y2)=(1000,30)の2点が与えられているので、近似ではなくて、厳密にこの2点を通るように、aとcを決められます。 1.ちゃんとcも無視しないで、座標1を代入すると, 5 = a^50 + c … (1) 1.cを無視しないで、座標2を代入すると, 30 = a^1000 + c … (2) というわけで、(1)と(2)を連立させてa,cについて解けばいいです。 実際に解くのは数値計算しかないですが、 a = 1.0030570062962585087533299236029851259021224685666… c = 3.8351210713869479819882604408568938733579605262382… といった感じになります。
お礼
>rabbit_catさん 夜分遅くに,迅速な回答,どうもありがとうございました. とても助かりましたm(_ _)m. >1.ちゃんとcも無視しないで、座標1を代入すると, そうでした….なんでcを無視し続けちゃったんだろ><;.. 単に連立一次方程式の理屈でした….気づかせていただき,ありがとうございます . 続いての質問で誠に恐縮ですが, 関連する(1)~(2)の教えていただけると幸いです. >実際に解くのは数値計算しかないですが、 (1)他の任意の値でも,aとcを(プログラム上で)計算したいので, もしよろしければ,計算する手段(方程式/Excel/フリーソフトでも可)を教えていただけないでしょうか? 人が見た時の計算過程は,おそらく (2)-(1) = 25 = a^1000-a^50 = a^50(a^950-1)とやりますが, これだとaが少数だと人間の手には負えませんし, 教えていただいた精度のaを求める計算手段(「a=***」となる式)は, 私の力では探せませんでした. (2)また,N個になる場合の近似曲線を求める場合は, スマートに計算するには,何らかの方程式に当てはめるのだと思いますが, 指数関数用の近似方程式などはあるのでしょうか? ちなみに,対数関数(y = log_a(x)+c)の近似方法も知りたいのですが…, (2個の座標がわかれば,連立方程式でa,cは確定することはわかりました.) これは欲張りなので,もう少し自分で調べてみます. 長文になってしまい申し訳ありません. わかる範囲だけの回答,短くで結構です. ※なお,適切な方程式/ソフトが無い場合は, 今は特に処理速度に拘っているわけではないので, いっそ自分で総当たりをするプログラムを作って出そうと思っています.
関連するQ&A
- 近似曲線の設定方法
Sma4 for Windows で、あるデーターのプロットを取りました。 このプロットに対して、近似(フィッティング)曲線をつくるため x,yの関数としてy=1-(b/1+(c/x))を入れたいのですが、うまくいきません。 bとcはxの変化によって変化する定数の事です。 Sma4起動中の、どこに式を入れればいいのか教えて下さい。 つまり、プロットに対して近似曲線を作るための式の設定方法を教えて下さい。
- 締切済み
- その他(ソフトウェア)
- 実験データの指数近似曲線を求めたいのですが・・・
今,修論の実験データを指数近似したいのですが, [ y=A*exp(Bx)+C ]の形で求めたいのです. EXCELではおそらく定数項Cが求められませんし, 僕が見つけたフリーソフトでは自然対数eが使われていません. こんな都合の良いソフトがあるでしょうか? それともEXCELのマクロ等をいじって実現できるでしょうか? もしご存知の方がいましたら是非教えて下さい!! 宜しくお願いします.
- ベストアンサー
- フリーウェア・フリーソフト
- y=A(x-B)/(x-C)についてのカーブフィッティング
24個のデータ(x,y)について、y=A(x-B)/(x-C)という関数を用いて近似曲線を描いたときのA,B,Cの値を知りたいのですが、どうすればよいのでしょうか?
- ベストアンサー
- 数学・算数
- エクセル対数近似曲線のX値を代入、Y値の求め方
初めて質問させていただきます。 エクセル2003で散布図グラフを作成し、対数近似曲線を表示させたところ、以下の方程式が表示されました。 y=2E+06Ln(x)-4E+06 この式にXの値を代入して、Yの値を求めようと思い、X=25, 30, 35, 40・・・を代入してみたところ、Yの値が、対数近似曲線のグラフの位置と一致しないで困っています。 たとえば、X=25を代入して、Y=2*10^6*Ln(25)-4*10^6で計算すると、Y=2,437,742となります。一方、対数近似曲線のX=25のところを見ると、Y=3,000,000ぐらいになっています。 アドバイスを頂けると大変助かります。よろしくお願いいたします。
- ベストアンサー
- その他(ビジネス・キャリア)
- arctan(y/x)でxとyを極座標で表したあとの計算について
arctan(y/x)という式があり、x,yをそれぞれ極座標で表します。x=rcosθ、y=rsinθ. すると、arctan(rtanθ)となってしまいます。 このように、三角関数の変数部分がまた三角関数というような関数は何と呼ばれているのでしょうか。これが指数関数を用いて表せるようなのですが、どのようにすればよろしいでしょうか。ヒントになるHP等の情報だけでもかまいません。
- ベストアンサー
- 数学・算数
- xについての2次関数y=3x^2-9ax+3a^2+3a-1がある。た
xについての2次関数y=3x^2-9ax+3a^2+3a-1がある。ただし、aは実数の定数である。 すべての実数xに対して-2/3≦yが成り立つのは、ア/イウ≦a≦エ/オのときである。 ア~オを求めたいのですが... まず、全ての実数という条件があるので、判別式D<0で解こうと思ったのですが、 何度やってもルートの中がマイナスになって、答えが出てきません。 解き方が間違っているのでしょうか?
- ベストアンサー
- 数学・算数
- y=a^(k/x)の指数関数にて
kが正のとき 1<aの時右下がりのグラフとなり、 0<a<1の時右上がりのグラフとなるんですか? kは定数。 kが負のとき 1<aの時右上がりのグラフとなり、 0<a<1の時右下がりのグラフとなるんですか? kが0のときには定数関数ですよね。 また定数pを使って y=a^{k/(x±p)}となってもx±p=Xと見れば良いから上記と同じ事がいえますよね。
- ベストアンサー
- 数学・算数
- エクセルで、三角関数を含んだ近似曲線を引きたいです
実験値に対して、三角関数を含んだ近似曲線を引きたいのですが、どのようにすればよいでしょうか? 例えば、 y=a*sin(x)^b+c のような式で、最も実験値に合う係数a,b,cを求めたいです。 よろしくお願いします。
- 締切済み
- オフィス系ソフト
- 指数関数近似を行うプログラムを早急に作成する必要があり、
指数関数近似を行うプログラムを早急に作成する必要があり、 質問させていただいています。 理論上、 y=a1・e^(a1・x)+a2・e^(a2・x) (*) でフィッティングできる実験データがあり、 この実験データを理論式(*)で近似するプログラムを作成したいのですが、 どのようにして実現したらいいのか悩んでいます。 y=a1・e^(a1・x)でしたら対数をとる、等が考えられますが、 上記の例の場合、どのような理論に基づいてa1、a2を求めたらいいのでしょうか。 わかりやすい参考書等もおススメあれば教えていただけたらと思います。 プログラム言語はどのようなものでもかまいません。 よろしくお願い致します。
- 締切済み
- C・C++・C#
お礼
大変的確な補足,ありがとうございました. excelを使いこなすと,最小二乗法の計算も容易にできるのですね. 参考URLも非常にわかりやすいサイトを選んでもらい,本当に助かりました. rabbit_catさんの回答で満足したので, ここで回答を締め切りたいと思います. ありがとうございました.