我有一个相当复杂的等式,我想改变一个变量。 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);
};
我是否可以使用算法来数值求解我所拥有的等式?
答案 0 :(得分:1)
Simulated annealing是一种常用的技术。在这种情况下,您需要最小化复杂函数的绝对值,这将找到最接近0的值。
答案 1 :(得分:0)
或者,您可以使用最小二乘曲线拟合(参见" lsqcurvefit"在MATLAB中)。 lsqcurvefit在曲线拟合方面比GoalSeek强大得多,具体取决于要解决的问题的复杂性。
欢呼声,