fminsearch和fminunc是MATLAB中用于优化问题的函数。它们在进行优化时给出不同的答案的原因可能有以下几点:
- 算法原理不同:fminsearch使用的是模拟退火算法,而fminunc使用的是拟牛顿法。这两种算法在求解优化问题时采用了不同的策略和迭代方式,因此可能会得到不同的最优解。
- 初始点选择不同:优化算法通常需要指定一个初始点作为起点,然后根据算法迭代更新来逐步逼近最优解。fminsearch和fminunc对于初始点的选择可能有不同的策略,导致在相同问题上得到不同的最优解。
- 问题类型不同:fminsearch和fminunc适用于不同类型的优化问题。fminsearch主要用于无约束优化问题,而fminunc则适用于有约束优化问题。因此,在不同类型的问题上,它们可能会给出不同的答案。
总结起来,fminsearch和fminunc在进行优化时给出不同的答案可能是由于算法原理、初始点选择和问题类型等因素的影响。对于具体的优化问题,可以根据问题的特点选择合适的优化函数进行求解。