[問題] fminsearch 使用已回收

看板MATLAB作者 (憨仔)時間13年前 (2011/05/23 16:12), 編輯推噓2(204)
留言6則, 1人參與, 最新討論串1/1
我現在寫了一個程式 已經計算完 w(t,i,j) . Q(t,i) . v(t,j) ( 對於 t=1:10 . i = 1:10 . j=1:10 ) 對於 t=1:10 , i=1:10 A(t,i)= 10 Σ w(t,i,j) * [ Q(t,j) - x(1) - x(2) * v(t,j) ]^2 j=1 我現在想找一個 x(1) . x(2) 使得 A(t,i) 會最小 ( 對於 t . i ) 然後用 上面算出來 會讓 A(t,i) 最小 的 x(2) ( 每個node都有一組x(1).x(2) ) 再去計算 C(t,i) = 10 10 Σ w(t,i,j) * Q(t,j)/10 - x(2) * ( Σ v(t,j)*w(t,i,j)/b ) j=1 j=1 可是 fminsearch 一定要對函式作用 我可以直接在這個script上寫嗎? 還是我一定得把這個寫成一個function 在另外一個地方計算? (因為抓完 x(1) . x(2) 我還要再用到 原本script 裡面的東西... function variable的值又不會存起來...) 請問我該怎麼寫比較好...>.< 懇請賜教~~~ -- ╬ ▃ ▄▄ ▄▄ ◥◣ ▄▄ _ ◥◤ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.111.102

05/24 17:31, , 1F
一定要另寫一個function且輸出值是你要最小化函數的值
05/24 17:31, 1F

05/24 17:31, , 2F
然後再用fminsearch和定義初始值,它就會幫你算了
05/24 17:31, 2F

05/24 17:32, , 3F
試著用for迴圈指派不同初始值,看結果有沒有差很多
05/24 17:32, 3F

05/24 17:34, , 4F
如 fminsearch(@myFun,init)
05/24 17:34, 4F

05/24 17:35, , 5F
function f=myFun(x) ,x是變數 f是目標最小函數的輸出值
05/24 17:35, 5F

05/24 17:37, , 6F
如果要找的參數不只一個, 必須要寫成陣列再指派
05/24 17:37, 6F
文章代碼(AID): #1DsXRqG7 (MATLAB)