0

変更したい単一の変数を持つかなり複雑な方程式があります。T*目標は方程式を 0 にすることです。 *

例えば:

0 = variable * (complicated equation of constants and exponents)

私の最初の考えは、変数の十分に大きな値から単純にブルートフォースダウンすることでしたが、「目標を求めている」数には小数成分が含まれている可能性があるため、単純な整数デクリメントが機能しない可能性があることにすぐに気付きました。

Excelのような正しい「ゴールシーク」アルゴリズムの実装を誰かが提案できますか?

double result = 1;
double variable = 1000;
double tempVariable = variable;
double tolerance = 0.1;

while (abs(result) > tolerance ) {
    variable--;

    result = variable * (complicated equation);

};

私が持っている方程式を数値的に解くために使用できるアルゴリズムはありますか?

4

2 に答える 2

0

または、最小二乗曲線近似を使用することもできます (MATLAB の「lsqcurvefit」を参照)。lsqcurvefit は、解決する問題の複雑さに応じて、カーブ フィッティングにおいて GoalSeek よりもはるかに強力です。

乾杯、

于 2015-04-02T18:42:29.080 に答える