[問題]請問 曲線如何用資料點表示?

看板MATLAB作者 (雄2)時間13年前 (2012/08/16 12:28), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
各位大大好 我現在在對一個曲線做最佳化 目標函數是h(i) 變數是方程式係數 for i = 2:size(d,2) if i < dP h(i) = a(5)*d(i)^4 + a(4)*d(i)^3 + a(3)*d(i)^2 + a(2)*d(i) + a(1); hP = 4*a(5)*d(i)^3 + 3*a(4)*d(i)^2 + 2*a(3)*d(i) + a(2); elseif i == dP h(i) = a(5)*d(i)^4 + a(4)*d(i)^3 + a(3)*d(i)^2 + a(2)*d(i) + a(1); hP = (4*a(5)*d(i)^3 + 3*a(4)*d(i)^2 + 2*a(3)*d(i) + a(2) + ... 4*b(1,5)*d(i)^3 + 3*b(1,4)*d(i)^2 + 2*b(1,3)*d(i) + b(1,2))/2; 最佳化大概是這樣 a = [0 Hc/D 0 0 0]; b = [0 Hc/D 0 0 0; 0 Hc/D 0 0 0; 0 Hc/D 0 0 0; 0 Hc/D 0 0 0;]; %% fmincon() optimization routine x0 = [a b(1,:) b(2,:) b(3,:) b(4,:)]; options =optimset('Algorithm','active-set','Display','iter','maxiter',1000, 'MaxFunEvals',16000); [x,fval] =fmincon(@objfun,x0,[],[],[],[],[],[],@nonlcon,options,Fin,l4,l5, H,L0,d,D,dP,DP); a = x(1:5); b(1,:) = x(6:10); b(2,:) = x(11:15); b(3,:) =x(16:20); b(4,:)=x(21:25); 現在我想將目標函數換成以d=30:0.1:70 然後y(d)的資料點當變數來跑這個最佳化 請問我要如何修改? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.255.167.68
文章代碼(AID): #1GB7RO4H (MATLAB)
文章代碼(AID): #1GB7RO4H (MATLAB)