这个是模拟的结果,从左到右硬度递增



在某些情况下还是有问题,如图

在伸直姿态附近容易走到局部极值。
发现模拟失败有以下几种情况:
1. 牛顿法失败
以下是其中失败的一步:
G=[50482.700496 -243431.343366 ];
f = 186558.898373, |GP| = 248610.784123, minGradSize = 1.000000e-002 //
H=[
28632233.818952 -2630383.518856
-2630383.518856 240824.928732
];
此时Hessian为不定矩阵,有负特征值-816
尝试转为最速下降法
2.共轭梯度法失败
通常是选择了太大的步长
下一步着手解决这两个问题。
牛顿法失败,解决Hessian不定、半正定的问题
共轭梯度法失败,改良一维搜索算法,尽可能找到合适步长