如何解释 matlab lsqnonlin 输出显示?

How to interpret matlab lsqnonlin output display?

我正在使用 matlab 中的 lsqnonlin 拟合具有不同数量浮动参数的函数。

第一次拟合产生更好的拟合,resnorm 为 2.5。 matlab 显示:

                                         Norm of      First-order 
 Iteration  Func-count     f(x)          step          optimality
     0         24         17492.8                      9.07e+05
     1         48          143.52       0.106514       2.14e+04      
     2         72         28.1836       0.322225       9.21e+03      
     3         96         8.22318       0.190289            471      
     4        120         4.64683       0.106685            469      
     5        144         4.21385       0.110651           50.6      
     6        168         3.84595       0.132576           6.57      
     7        192         3.80318      0.0785982          0.574      
     8        216         3.80298     0.00714585         0.0696      
     9        240         3.80298    8.99227e-05         0.0165

第二个配件的resnorm是3.6。 matlab 显示:

                                         Norm of      First-order 
 Iteration  Func-count     f(x)          step          optimality
     0         38         17492.8                      9.07e+05
     1         76         158.945       0.112853       3.12e+04      
     2        114         31.4081       0.296493       9.11e+03      
     3        152         8.51237       0.171055            627      
     4        190         4.73721       0.485675       1.01e+03      
     5        228         4.25786       0.268581            121      
     6        266         3.82232       0.424431           12.9      
     7        304         3.67385       0.483489             13      
     8        342         3.65582       0.290754             21      
     9        380         3.64699       0.331376           25.9      
    10        418         3.64327       0.237147             16      
    11        456         3.64078       0.236815           13.3      
    12        494         3.63925       0.203176           9.54      
    13        532         3.63819       0.186138           7.32      
    14        570         3.63747       0.165213           5.52      
    15        608         3.63697       0.148463            4.2      
    16        646         3.63663       0.132661           3.17      
    17        684          3.6364       0.118115           2.35      
    18        722         3.63624       0.102959           1.73      
    19        760         3.63616      0.0842739            1.2      
    20        798         3.63612      0.0589477          0.731      
    21        836         3.63611      0.0309845          0.391      
    22        874          3.6361      0.0119255          0.192   

这两个配件:"lsqnonlin stopped because the final change in the sum of squares relative to its initial value is less than the default value of the function tolerance."

如何在不查看 resnorm 的情况下解释拟合结果的显示?

据我所知,第一个配件 "norm of step" 少了很多。 f(x) 和一阶最优的最终结果是相似的。

每列的含义是什么?我该如何解读它们?

From the mathworks website:

Iteration - 迭代次数。

Func Count - 函数计算次数。

f(x) - x 处的函数值。

Norm of step - 当前步长。

First-Order Optimality - 一阶最优性衡量点 x 与最优值的接近程度。

您要查看的是一阶最优性 -> 0(以及您的残差 -> 0)这一事实,因为这表明您的算法正在收敛或已经收敛于最优解。您的第一个拟合必须提供了更好的猜测或使用了更好的算法,因为它仅在 9 次迭代中收敛,而您的第二个拟合在 22 次迭代中收敛。