dunmin 发表于 2007-3-28 10:42

优化参数设置

优化参数为:
myoptions=optimset('LevenbergMarquardt','off','MaxIter',10000,'TolFun',0.01);
      x=fsolve(fun,x0,myoptions);
到也能够运行,算出结果,就是出现了如下警告:
Warning: Default trust-region dogleg method of FSOLVE cannot
handle non-square systems; switching to Gauss-Newton method.
> In <a href="error:D:\MATLAB7\toolbox\optim\fsolve.m,232,1">fsolve at 232</a>
In <a href="error:d:\MATLAB7\work\maduo070327.m,241,1">maduo070327>pushbutton3_Callback at 241</a>
In <a href="error:D:\MATLAB7\toolbox\matlab\uitools\gui_mainfcn.m,75,1">gui_mainfcn at 75</a>
In <a href="error:d:\MATLAB7\work\maduo070327.m,44,1">maduo070327 at 44</a>
Optimizer appears to be converging to a minimum that is not a root:
Sum of squares of the function values is > sqrt(options.TolFun).
Try again with a new starting point.
改了迭代初值也不行。另外如何在优化参数设置中选择“Gauss-Newton method”(省得switching to Gauss-Newton method)
谢谢!

dunmin 发表于 2007-3-28 11:38

自己解决了一部分

通过HELP查了一下,可能和优化工具箱的版本有关,所以改了一下:
myoptions=optimset('LargeScale','off','NonlEqnAlgorithm','gn','MaxIter',10000,'TolFun',0.1);
运行后,提示如下:
Optimizer appears to be converging to a minimum that is not a root:
Sum of squares of the function values is > sqrt(options.TolFun).
Try again with a new starting point.
把迭代初值改了又改,还是不行,这个怎么解决?求
页: [1]
查看完整版本: 优化参数设置