[討論] 用迴圈跑fminunc,但每次目標函式不同

看板MATLAB作者 (Keep Going)時間12年前 (2013/10/07 00:37), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/1
大家好,我剛開始接觸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

10/07 01:53, , 1F
自答,問題一和三可用global解決
10/07 01:53, 1F
文章代碼(AID): #1IKP6wDf (MATLAB)
文章代碼(AID): #1IKP6wDf (MATLAB)