看板 MATLAB 關於我們 聯絡資訊
大家好,我剛開始接觸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
MagicDuet:自答,問題一和三可用global解決 10/07 01:53