[問題] 使用迴圈更改起始值 求最佳解 已回收

看板MATLAB作者 (妹妹)時間16年前 (2009/04/24 09:27), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串1/2 (看更多)
我先在c矩陣中抽出5天B和S的資料 接著讓參數theta0中的x、y、z起始值設為迴圈變動 怎麼找出每天 參數變動下 比較每個函數結果 找出函數最大的解? global B S lb=[0;0;0;0;0.1;0.1;0.1]; ub=[1;1;1;1;50;50;50]; f=@Qn4; for i=1:5 B=c(i:59+i,2); S=c(i:59+i,3); for x=20:40 for y=1:20 for z=1:20 theta0=[0.1;0.1;0.1;0.1;x;y;z]; [theta_ml,fval,exitflag,output]=fmincon(f,theta0,[],[],[],[],lb,ub); 請問目前為止有錯嗎? 接下來我就不會寫了 怎麼找出每天 參數變動下 函數最大的解? 也就是映出結果為以下的矩陣 fval theta1 theta2 theta3 theta4 theta5 theta6 theta7 day 1 day 2 day 3 day 4 day 5 謝謝大家!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.70.216.65 ※ 編輯: contente 來自: 219.70.216.65 (04/24 09:39) ※ 編輯: contente 來自: 219.70.216.65 (04/24 09:43)

04/24 09:55, , 1F
既然都給定上下限 lb, ub 為什還要用迴圈去變動? fmincon 會作
04/24 09:55, 1F

04/24 10:51, , 2F
大概不確定函數極值在哪個值域才是唯一吧
04/24 10:51, 2F
文章代碼(AID): #19yHMSpc (MATLAB)
文章代碼(AID): #19yHMSpc (MATLAB)