[問題] 請問哪裡有錯(函數)?已回收
目標函數:
function f=myfun(x)
y=rand(10);
for i=3:100
m(i)=y(i)-x(1)-x(2).*y(i-1)-x(3).*y(i-2);
n(i)=y(i).*y(i-1)-x(1).*y(i-1)-x(2).*y(i-1)^2-x(3).*y(i-1).*y(i-2);
o(i)=y(i).*y(i-2)-x(1).*y(i-2)-x(2).*y(i-1).*y(i-2)-x(3).*y(i-2)^2;
f(i)=2.*log(1+x(4).*m+x(5).*n+x(6).*o);
end
f=sum(f);
這是限制式:
function [c ceq]=mycon(x)
for i=3:300
y=rand(10);
m(i)=y(i)-x(1)-x(2).*y(i-1)-x(3).*y(i-2);
n(i)=y(i).*y(i-1)-x(1).*y(i-1)-x(2).*y(i-1)^2-x(3).*y(i-1).*y(i-2);
o(i)=y(i).*y(i-2)-x(1).*y(i-2)-x(2).*y(i-1).*y(i-2)-x(3).*y(i-2)^2;
p=(1+x(4).*m+x(5).*n+x(6).*o);
end
c=[];
ceq(1)=sum(m/p);
ceq(2)=sum(n/p);
ceq(3)=sum(o/p);
想求目標函數的最小值
x0=[0.06 0.4 0.15 1 1 1]; %初始值
fmincon('myfun',x0,[],[],[],[],[],[],'mycon')
但會出現錯誤...請問哪裡有錯??
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.224.40.191
→
03/16 23:02, , 1F
03/16 23:02, 1F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 3 篇):
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章