[已答复] 关于lsqnonlin函数的使用问题

[复制链接]
kikousama 发表于 7 天前
我写了一个函数,需要来进行优化,使得系数尽可能的小。
  1. x0=[0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01];
  2. %options = optimset('Display','iter');  % Turn off Display
  3. options = optimoptions('lsqnonlin','Display','iter');
  4. options.Algorithm = 'levenberg-marquardt';
  5. % [x,resnorm,residual,exitflag] = lsqnonlin(@Optimal_double_Surface,x0,[],[],options);
  6. [x,resnorm,residual,exitflag,output] = lsqnonlin(@GetMachineparameters,x0,[],[],options);%不存在边界,传递空矩阵
复制代码
上述的GetMachineparameters就是我的一个优化函数,函数中间具体代码没有贴,目的是使得DL这5个数的值尽可能的小,最好接近于0

使用lsqnonlin来进行优化,但是我似乎每次函数都没有执行成功。
我执行完后,我的x输出等于我的x0输入,跳进函数发现迭代过程中x0没有任何改变,有改变最后也会变成我的输入数据


执行完函数后,显示的内容:







暂存.png

4 条回复


kikousama 发表于 7 天前
毕业就靠这个了,希望各位指点一下

wjb986555360 发表于 7 天前
文件你不放全,别人没法帮你

kikousama 发表于 7 天前
wjb986555360 发表于 2022-11-25 22:46
文件你不放全,别人没法帮你

emmm……需要具体贴出我完整的函数怎么写吗?因为函数里还有别的调用,所以就很复杂

kikousama 发表于 6 天前
或者,有没有哪位大哥能够解答,就是截图部分,这个函数一步都不迭代可能的原因是啥也可以。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
相关文章
热门教程
站长推荐
快速回复 返回顶部 返回列表