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

1

Simulated annealing is a commonly used technique. In this case you'd want to minimize the absolute value of your complicated function, which would find the closest value to 0.

于 2013-09-05T21:20:17.580 回答
0

或者,您可以使用最小二乘曲线拟合(参见 MATLAB 中的“lsqcurvefit”)。lsqcurvefit 在曲线拟合方面比 GoalSeek 强大得多,具体取决于要解决的问题的复杂性。

干杯,

于 2015-04-02T18:42:29.080 回答