Objective-c如何实现类似excel的“目标搜索”算法?

时间:2013-09-05 21:08:56

标签: objective-c iphone algorithm recursion

我有一个相当复杂的等式,我想改变一个变量。 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);

};

我是否可以使用算法来数值求解我所拥有的等式?

2 个答案:

答案 0 :(得分:1)

Simulated annealing是一种常用的技术。在这种情况下,您需要最小化复杂函数的绝对值,这将找到最接近0的值。

答案 1 :(得分:0)

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

欢呼声,