外出自粛中でも楽しく過ごす!QAまとめ>>

対数関数で、2点を結ぶ直線の数式を求めたいのですが、そんなことは可能なのでしょうか。数学にうとくて、さっぱり分からないのです。
2点の座標は、(0.1,17.5)、(0.25,57)です。
数学に詳しいかた、ぜひ教えてください。お願いします。

A 回答 (3件)

(1) y=a*log(x)+bのとき


a,bの連立方程式
 17.5=a*log(0.1)+b
 57=a*log(0.25)+b
を解いて、
 a=99.2612, b=116.7612

(2) log(y)=a*log(x)+bのとき
a,bの連立方程式
 log(17.5)=a*log(0.1)+b
 log(57)=a*log(0.25)+b
を解いて、
 a=1.2887, b=2.5318

となります。

注:logの底は10です。
また、a,bは、小数点以下がずっと続きますが、とりあえず小数点以下4桁にしてみました。
    • good
    • 0
この回答へのお礼

大変助かりました。
分かりやすい説明を有難うございました。

お礼日時:2004/12/16 09:08

2 点 (x1, y1)、(x2, y2) を通る一次曲線 (直線になります) は、一般に、



(y1 - y2) * (x - x1) = (x1 - x2) * (y - y1)

で表されます。何故こうなるかは、一度ゆっくり考えてみてください。この過程を理解できない状態で、上に記した一般式を用いることは、間違った行為ですから。じっくり考えて、それでもわからなかったら、再質問してください。

で、当面は、
x1 = 0.1
y1 = log(17.5)
x2 = 0.25
y2 = log(57)
を代入して、後を整理してください。
    • good
    • 0
この回答へのお礼

有難うございました。
無事解決しました!

お礼日時:2004/12/16 09:05

>>対数関数で、2点を結ぶ直線の数式を求めたいのですが



対数関数は直線にはならず曲線なので不可能ですが、何を求めたいのでしょうか。

ひょっとして(片対数方眼紙や両対数方眼紙が念頭にあって)、y=a*log(x)+bや、log(y)=a*log(x)+bとした場合のa,bを求めたいのでしょうか。

この回答への補足

そうです、その通りです。そのa,bを知りたいのです。
知識不足ですみません。お恥ずかしい限りです。
よろしくお願いいたします。

補足日時:2004/12/01 20:05
    • good
    • 0

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

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

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

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

Qlog-logの補間式

換算係数などがデータとして与えられている際に、
その各データの間の値を計算する式で、補間式
というのがあるらしいのですが、どのように
計算すればいいのでしょうか?

例えば、放射線の吸収線量-線量当量の換算係数で、
空気カーマが1グレイである場合の線量当量が
下記の通り与えられている場合、ガンマ線の
エネルギー1.25MeVに対応する実効線量はどのように
求めたらよいのでしょうか?

ガンマ線のエネルギー1.0(MeV)・実効線量1.010(Sv)
ガンマ線のエネルギー2.0(MeV)・実効線量1.003(Sv)

Aベストアンサー

エネルギーと実効線量の関係については忘れちゃったので、とりあえず一般論のみ。

一般に、何の智恵もなしに
(xi, yi) i=1,2,...,N
が分かっているときにxにおけるyを求めようとするときは多項式近似をやります。
つまりこれらの与えられた点を通る(N-1)次式を作って、これにxを代入するんですね。データがほんとに2カ所しかない(N=2)場合なら直線近似をやるということになります。つまり
yi = a xi + b (i=1,2)
という連立方程式を解いて、a,bを決めれば
y = a x + b
で近似値が出ます。答は
y = y1(x-x2)/(x1-x2)+y2(x-x1)/(x2-x1)
です。
N=3なら2次式になって、
y = y1(x-x2)(x-x3) /[(x1-x2)(x1-x3)]+
y2(x-x1)(x-x3) /[(x2-x1)(x2-x3)]+
y3(x-x1)(x-x2) /[(x3-x1)(x3-x2)]
N=4なら3次式になって、
y = y1(x-x2)(x-x3)(x-x4) /[(x1-x2)(x1-x3)(x1-x4)]+
y2(x-x1)(x-x3)(x-x4) /[(x2-x1)(x2-x3)(x2-x4)]+
y3(x-x1)(x-x2)(x-x4) /[(x3-x1)(x3-x2)(x3-x4)]+
y4(x-x1)(x-x2)(x-x3) /[(x4-x1)(x4-x2)(x4-x3)]
規則性が分かりますか? x=x1, x2, x3,...を代入するとどうなるか、自分で検算してみると仕組みが理解しやすいですよ。

もうちょっと智恵があって、
y = f(x)
というような理論式が分かっている場合には あてはめ(model fitting)をやります。
たとえば、
f(x) = a exp[bx] (exp[]は指数関数、a,bは未知の係数です)
というのなら、
この例では N=2が未知の係数の個数と同じだから、単に連立方程式
y1 = a exp[b x1]
y2 = a exp[b x2]
を解いてa, bを決めることになります。この例では両辺の対数をとって、
ln(y1) = ln(a) + b x1
ln(y2) = ln(a) + b x2
とすれば、ただの2元連立一次方程式ですね。

一般にはNが未知の係数の数より多いので、
yi = f(xi) +Ei (i=1,2,....,N)
という連立方程式を考え、誤差Eiの二乗和
S = E1^2 + .... + EN^2
が最小になるように未知の係数を決定するのです。これは最小二乗法(least square method)と言います。

最小二乗法についての良い教科書は 中川・小柳「最小二乗法による実験データ解析」 東京大学出版会 1982 です。

この他にもスプライン補間法というのがあります。また、こういった話全般は、「近似理論」と呼ばれることがあります。

エネルギーと実効線量の関係については忘れちゃったので、とりあえず一般論のみ。

一般に、何の智恵もなしに
(xi, yi) i=1,2,...,N
が分かっているときにxにおけるyを求めようとするときは多項式近似をやります。
つまりこれらの与えられた点を通る(N-1)次式を作って、これにxを代入するんですね。データがほんとに2カ所しかない(N=2)場合なら直線近似をやるということになります。つまり
yi = a xi + b (i=1,2)
という連立方程式を解いて、a,bを決めれば
y = a x + b
で近似値が出ます。答は
y = y...続きを読む

Q複数の点(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個の近似となると別に確定する必要はないのですが,知っておかないといけない情報かもしれません.
ちなみに,これまで関数近似については,最小二乗法(直線の近似)以外,
高校以来,あまり勉強したことはありません.
(つまり,指数関数の本質,数学的な知識は乏しいです….)

以上です,よろしくお願いいたします.

初歩的な質問ですみません.

複数の点(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.032712419...続きを読む

Aベストアンサー

補足(1)
a^50(a^950-1)-25 = 0
を解けばいいですが、
excelでやるなら、ソルバーの機能を使えばいいでしょう。
正直、私はexcelには詳しくないので
「excel ソルバー」とかで検索してみるといいと思います。

補足(2)
普通は最小二乗法を使います。excelでやるならこれもソルバーでできます。
http://homepage1.nifty.com/gfk/square_solver.htm
に、N次関数で近似する例が載っていますが、指数関数で近似する場合も同様にできます。

Q両対数グラフの直線の近似式の求め方は?

両対数グラフで直線になったグラフがあります。

y=30,x=9 と y=170,x=350 の2点を通る直線なのですが、
これをxを求める式に表すとどういう式になるのでしょうか?

過去の質問をいろいろ見ましたが、チンプンカンプン。

よろしくお願いいたします。

Aベストアンサー

#1です。

>xを求める式に表すとどういう式になるのでしょうか?
A#1は yを求める式でしたね。失礼しました。

>log(y)=0.47384297843776log(x)+1.024960141895009
この式をxについて解けば
log(x)=(log(y)-1.024960141895009)/0.47384297843776
x=(10^(-1.024960141895009/0.47384297843776))10^(log(y)/0.47384297843776)
≒0.0068694231594535*10^(2.110403752941443*log(y)) …(■)
となります。

(■)のxとyの関係をグラフにした図を添付します。
この関係を両対数グラフ用紙にプロットすれば直線になるわけです。

Q直線補間出来る関数

直線補間できる関数はエクセルに有るのでしょうか?
直線補間とはxy座標において、点A(x1,y1),点B(x2,y2)が有ったときに、x1≦x≦x2における任意のxに対するyの値を点AB間が直線だと仮定して求めるすることです。

今は、VLOOKUP,match,Index関数を使ってやってますが、関数がある非常に楽です。

Aベストアンサー

 2点だけでしたら使うまでも無い様な気がしますが、FORECAST関数というものがあります。

【参考URL】
 FORECAST 関数 - Excel - Office.com
  http://office.microsoft.com/ja-jp/excel-help/HP010342532.aspx

 初心者のエクセル(Excel)学習・入門 > エクセル関数の使い方 > 統計関数 > FORECAST関数とは
  http://excel.onushi.com/function/forecast.htm

Qエクセルの関数を使って、2座標を通る1次関数等を求めたいです

皆様、はじめまして!

オタッキーな質問で恐縮ですが、どうぞよろしくお願いいたします。

では、さっそく参ります。

エクセル2003の関数を使って、2点(2つの座標)を通る1次関数を求め、任意のX軸の値を代入し、Yの値を求めたいと思っております。

株のシステムトレードで、エクセルを使って、投資システムの検証をするために、このような事をしようとしています。

理想を言えば、2点(2つの座標)から直接Yの値まで1発で求める関数があればよいのですが、エクセル関数の事典で調べてもなさそうでした。

皆様、どうぞよろしくお願いいたします。

Aベストアンサー

エクセルであればFORECAST関数で求めることが可能です
A列にxの値、B列にyの値を入力します(これが2点の座標です)
A1 1、B1 5
A2 3、B2 11

任意のセルに
=FORECAST(5,B1:B2,A1:A2)
と入力すればx=5の時のyの値(=17)を得ます。

反対にyの値からxを求めたいなら
=FORECAST(17,A1:A2,B1:B2)
でy=17にたいするx(=5)を求めることができます。

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

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

Aベストアンサー

質問者様はグラフに表示された数式と同じワークシートの数式を正しく作成されています。
(実際の数式ではyはなくxのところにセル参照が入っているのですよね)
元データと合わない原因ですが、グラフに表示された数式の係数の精度不足ではないでしょうか。
それが原因であれば、グラフに表示された数式の表示形式を変更して係数の精度を上げ、その数値でワークシートの数式を作り直せば多くの場合解決します。
どのような数値でも精度良く表示するためには、表示形式を指数にして小数点以下14桁にするとよいと思います。

ご存知かもしれませんが、以下念のためグラフに表示された数式の表示の変更方法を説明します。
Excel2003とExcel2007についての解説となりますが他のバージョンも大きくは違わないと思いますのでそこのところの対応はよろしくお願いいたします。
1.グラフに表示された数式を右クリック
2.2003なら「データラベルの書式設定」をクリック、2007なら「近似曲線ラベルの書式設定」を左クリックする。
3.書式設定のダイアログが出るので、「表示形式」を左クリック(2003は上、2007は左上。最初からクリックされた状態になっている可能性あり。)
4.「分類」(表示形式)の「指数」を左クリック。(「数値」はNG)
5.「小数点以下の桁数」を14にする。(最大30だが「分類」(表示形式)が「指数」ならば15以上は無意味。Excelの精度が15桁であるため。)
6.「OK」を左クリック

なお、質問者様の作成された式の「2*POWER(10,8)」の部分ですが、「2*10^8」「2E+08」「2e8」などとしても数式の値としては同じになります。

質問者様はグラフに表示された数式と同じワークシートの数式を正しく作成されています。
(実際の数式ではyはなくxのところにセル参照が入っているのですよね)
元データと合わない原因ですが、グラフに表示された数式の係数の精度不足ではないでしょうか。
それが原因であれば、グラフに表示された数式の表示形式を変更して係数の精度を上げ、その数値でワークシートの数式を作り直せば多くの場合解決します。
どのような数値でも精度良く表示するためには、表示形式を指数にして小数点以下14桁にするとよいと思...続きを読む

Q対数グラフを計算式に直す方法

学校で習ったと思うのですがすっかり忘れてしまったようなので教えて下さい。
縦横それぞれ対数で書かれたグラフがあり、直線で右肩上がりで線が引かれてあります。
サンプルとしては
横0.1の時縦3.5
横0.2の時縦6.5
横0.3の時縦10
横1の時縦31
横3.2の時縦100
横10の時縦330
横30の時縦1000
横70の時縦2000
(グラフから読み取ったものなので正確ではありません)
という具合なのですが
これをいちいちグラフを見ずに計算で求めたいと考えています。
横0.1の時縦3.5と横70の時縦2000を直線で結んだ時
各々が計算で出せるように式を組む場合どのように考えて
計算式を組むかを教えて下さい。
確かLogを使った気がするのですが全く思い出せません。
今後の事を考えてどのように導くかも併せて教えてくれると
助かります。
一応excelで書いたグラフを貼っておきます。

Aベストアンサー

>x=が必要でした。

x=でも同じです。

(logy - logb) / (logd - logb) = (logx - loga) / (logc - loga)
この式で、xとy、aとb、cとdを交換しても同じ式になるから、

p = log(d/b) / log(c/a)
q = b / a^p
y = q * x^p
これも交換して、

p = log(c/a) / log(d/b)
q = a / b^p
x = q * y^p


ついでに、別の方法での求め方を。

No.2さんも書いていますが、対数グラフの直線は、
x = q * y^p
の形になります。
(y = q * y^p でも同じこと)

この直線が(a,b)、(c,d)を通るとすると、
a = q * b^p
c = q * d^p
となるから、これからp,qを求めればいい。

Q3点を通る曲線の求め方

3点を通る曲線の求め方を教えて下さい。
お願いします。

Aベストアンサー

いろんな回答が出ているので、僕は最も簡単な与えられた3点を通る多項式の導出を紹介します。他の方もご指摘されていますが、一般にn点与えられたとき、そのn点を通るn-1次の多項式はただ一通りに決まります。方程式を真面目に解くという方法でも出ますが、面倒です。そこで発見的な方法を紹介します。一般の場合も同じですから、n=3の場合にやってみます。点(a,p),(b,q),(c,r)の3点を通るものとしましょう。

f(x)={p(x-b)(x-c)}/{(a-b)(a-c)}+{q(x-a)(x-c)}/{(b-a)(b-c)}+{r(x-a)(x-b)}/{(c-a)(c-b)}

とおきます。f(a)を計算すると、第2項、第3項はうまく消えます。そして、第1項は分母と分子がうまくキャンセルしてpが残ります。同様にf(b)=q,f(c)=rというわけです。2次より大きくてもよいなら解は無数にあります。また多項式に限らない場合もたくさんの解があります。が、いずれにせよ、有限個の与えられた点(ただしx座標はすべて異なるものとする)を通る曲線を単に求めよ、といわれれば、これが最も簡明な公式だと思いますよ。

いろんな回答が出ているので、僕は最も簡単な与えられた3点を通る多項式の導出を紹介します。他の方もご指摘されていますが、一般にn点与えられたとき、そのn点を通るn-1次の多項式はただ一通りに決まります。方程式を真面目に解くという方法でも出ますが、面倒です。そこで発見的な方法を紹介します。一般の場合も同じですから、n=3の場合にやってみます。点(a,p),(b,q),(c,r)の3点を通るものとしましょう。

f(x)={p(x-b)(x-c)}/{(a-b)(a-c)}+{q(x-a)(x-c)}/{(b-a)(b-c)}+{r(x-a)(x-b)}/{(c-a)(c-b)}

とお...続きを読む

Q3点を通る曲線を求めるにはどうしたらいいですか?

3点を通る曲線を求めるにはどうしたらいいですか?

データ(x,y)を3点取得し、特性曲線を求めたいです。
いつもはパワーポイントの曲線を描くツールで、3点を通る特性曲線を半ば強引に描いているのですが、これをエクセルで自動で描くにはどうしたらいいでしょうか?

Aベストアンサー

3点でいいのね?

(1) 3点の折れ線グラフを作成する
(2) グラフを右クリックし、近似曲線(多項式近似)を追加。

4点以上だとこの方法ではできないので。

Q片対数グラフについて

片対数グラフにプロットして直線の式を求めたいのですが、傾きと、切片の出し方が分かりません。
教えてください。

Aベストアンサー

片対数にとったということは、y軸がlogだと思います。傾きは、y軸の変化÷x軸の変化なので、
y  x

3   1
5   2
7   3

のとき、(5-3)÷(2-1)をします。
すると 2 と言う値がでると思います。これが傾きです。
ですから、yがlogの場合、logをとった値で上と同じことをします。log10=1 みたいな感じで
例)(logの底を10とする)
y(log) x
20   2
25   3
30   4

(log30-log20)÷(4-2)=(1.477-1.301)÷2
=0.088

って感じです。
傾きが出たら、y=ax+b に代入します。
y=log30 x=4 の場合

1.477=0.088×4+b なので b=1.477-0.352 になりますので
b=1.125 となります。

間違ってたらごめんなさい。