LoginSignup
0
1

More than 5 years have passed since last update.

solver > テスト用の式 / 2パラメータでの解

Last updated at Posted at 2016-01-19
動作確認
Excel2013 on Windows 8.1 pro

try1

テスト用の式

http://qiita.com/7of9/items/cab3ff2cadcf2c6e365b
でやろうとしていたことを少しだけ進めることにする。

とりあえずEXCELで計算できるような式をたてる。

上に凸の2次関数を使おうとしてみた。2変数で以下の式を適当に立てた。

f = -0.1 * (C3 - 3.14) * (C3 - 3.14) - (C4 - 2.718) * (C4 - 2.718) + 9

C3 : distance[m]
C4 : elapsed[sec]

2変数でのソルバー

2変数をパラメータにして上記の関数の最大値を求めると以下が得られた。

distance[m] = 3.13999978290202
elapsed[sec] = 2.71799734050838
f = 9

自分が確認しようとしていることとどうも違う。

try2

式を変更した。

qiita.png

パラメータ

  • distanceX [m] > 初期値 3.0
  • coeff > 初期値 2.0

加えて elapsed(sec)という変数を追加して、1から10のデータを作成。

それぞれのelapsed(sec)に対応する値の計算は以下とした。

= -($C$3 - 3.1415)^2 *B11 + -($C$4 - 2.7182)^2 / B11

こうして得られた10セットの値に対して、R2の値を計算し、R2が最大になるようにソルバーを設定した。

= RSQ(B11:B20, C11:C20) // R2の式

これを使うことにしよう。

結果例

  1. 2変数に対するソルバーの解
    • distanceX[m] = 3.14149999662093
    • coeff = 1.98250447101389
    • 0.653884
  2. 1変数に対するソルバーの解
    • distanceX[m] = 3.15に設定
    • coeffをソルバーで解く > 0になってしまった。

1変数のソルバーで解が0になってしまうのが良くない。失敗。

方針変更

ウィル・ロジャーズ @ Grenning

穴にはまっていることに気づいたら、掘るのをやめよう

穴にはまっている。やめた。

現在の問題は「2変数のソルバーでは精度が出ていて、1変数のソルバー時に精度が出ていない」。2変数のソルバーでなく、1変数のソルバーに集中する。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1