共轭梯度算法求最小值
y=sumC3=1,C0=0,但C1,C2未知, sum表示m=1:4, n=1:4, k=1:3 三项的求和, Imn=已知。现要用共轭梯度算法求y的最小值。
求各位大虾的帮助。
[ 本帖最后由 xufengming 于 2009-2-25 12:52 编辑 ] 挺有难度的。 C1,C2未知,你怎么求y的最小值?还是说要求使得y最小的C1和C2? 当然是求C1,C2使得y最小了。 我现在是没思路了。 共轭梯度求极值比较麻烦,看你的函数形式这么简单,不如用梯度法(最速下降法)求算了。 你这里只有两个参数,函数也很简单,共轭梯度法和梯度法估计都是一瞬间就算完了。 原帖由 楼主 发表 http://www.chinavib.com/forum/images/common/back.gif
这个函数简单吗?我觉得很繁琐哦,关键是后一项要和0比较大小的?用到梯度法都要求最优步长因子a,就是我觉得这个a难求,才没做出来。
只要能写出具体形式在程序就是一个普通函数。后一项要和0比较大小这个问题只要能保证函数的光滑性就不会带来附加问题。涉及到微分的操作使用数值微分的方法即可,不会影响最后的收敛结果。最优步长因子可以使用0.618法,你觉得这个a的难点在哪呢? 这个问题已解决,不过还是谢谢回复的人。
页:
[1]