人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

始めはAが1であるが、2時間後にBが2となった場合、1時間後の時点ではどの程度であったかを大まかに補完する方法を探しています。
単純に加重平均としてしまうと線形になりますが、今回は添付の図のように山なりな曲線としたいです。

このような事を実現するアルゴリズムの名前や数式を教えて頂けますでしょうか。
よろしくお願いいたします。

1458741916
●拡大する

●質問者: yoshi-ken
●カテゴリ:学習・教育 科学・統計資料
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● cdaotg
●50ポイント

「アルゴリズムの名前」が存在するかは分かりませんでしたので、数式だけの回答です。

図を拝見したところ、下記の条件のようでしたのでその前提で回答させて頂きます。

1. オレンジのカーブは円弧
2. オレンジのカーブは点Bで傾きが0になる

まず、条件2から円弧の中心のx座標は2となります。
そこで、この円弧の式は下記のとおりとなります。

(x-2)^2+(y-y_0)^2=r^2

ただし、y_0が円弧の中心のy座標、rが半径とします。

次に、この円弧は点(0,1)と点(2,2)を通るので、下記の式が成り立ちます。

(0-2)^2+(1-y_0)^2=r^2
(2-2)^2+(2-y_0)^2=r^2

まず、2番めの式を解くとr=2-y_0となります。
これを1番目の式に代入して解くとy_0=-0.5となり、これを上の行の式に代入しr=2.5も求まります。

よって、円弧の式は(x-2)^2+(y+0.5)^2=2.5^2となります。

後は、任意のxを上記の式に代入して解けば、その時点でのyの値が求まります。


オレンジが円弧ではなく他の曲線の場合であっても、

1. 曲線の式を未知の変数(今回の例ではy_0r)込みで記述する。
2. 曲線の満たすべき条件(通る点や、傾きが0になる点)から、未知の変数を決定する。

というステップで解決可能かと思います。


yoshi-kenさんのコメント
ありがとうございます。頂いた式をそのまま使うと上下反転した凹型となりました。 そこで、 y=x*(2-x)+1 とすることで山なりの形を描けました。 しかし地点数が2点以上に増えた場合、その間を補間する線が2次曲線では不自然になります。不自然にならない手法で、使いやすいものにはどのようなものがありますでしょうか?

cdaotgさんのコメント
>頂いた式をそのまま使うと上下反転した凹型となりました。 あれ、式が間違っていましたか。 最後の式を解くと「y=√(2.5^2-(x-2)^2)-0.5」になりませんか?

yoshi-kenさんのコメント
すみません、式の対応を間違えたようです。

質問者から

複数の地点の間を補間するアルゴリズムの選定をしております。
2次関数で補完した場合のシミュレーションを行うと、上がって下がってまた上がる際の動きで不自然な線を描くことに気づきました。
そこで、スプライン補間や地点数が多ければ指数平滑法が必要になってくると考えています。
そういった物の中で、どういったものがどういった時に最適であるのかご教示頂けると幸いです。


2 ● uunfo
●50ポイント

直線で結べばいいでしょう。
それがだめだっていう理由が1つも提示されてないのだから。

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ