作者MagicDuet (Keep Going)
看板MATLAB
标题[讨论] 用回圈跑fminunc,但每次目标函式不同
时间Mon Oct 7 00:37:11 2013
大家好,我刚开始接触matlab,有个复杂的问题想要请教
有一个三维向量Va经由一个3X5的矩阵T得到一个五维向量Vb
已知有另一五维向量Vc,请问如何用最佳化去修正T得到T',让Vb和Vc的距离可以最小
因为牵涉到距离计算,所以我本来想用最小平方和相关的,像是lsqnonlin来做,
但好像不太适用,所以现在我想用fminunc分别求
f(x)=(a1*t11+a2*t21+a3*t31-c1)^2
f(x)=(a1*t12+a2*t22+a3*t32-c2)^2
....的最小值
然後用for loop跑五次,每次得到矩阵T'的一行
但现在问题变成每次的c分别是向量Vc中的每个元素,请问有办法每次丢不同的值进去吗?
第二个问题是如何取得每次结果合并成一个矩阵呢?
最後一个问题是fminunc的input只能丢x0进去,
请问有办法丢另一个向量,也就是Va进去吗?
谢谢各位耐心看完!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 202.169.172.35
1F:→ MagicDuet:自答,问题一和三可用global解决 10/07 01:53