Re: [問題] 請問哪裡有錯(函數)?已回收
這是後來修改的..
%m.file 目標函數------------------
function f=myfun(x,y)
for i=3:300
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(i)+x(5).*n(i)+x(6).*o(i));
end
f=sum(f);
%m.file 限制式---------------------
function [c ceq]=mycon(x,y)
for i=3:300
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(i)=(1+x(4).*m(i)+x(5).*n(i)+x(6).*o(i));
end
c=[];
ceq(1)=sum(m(3:300)./p(3:300));
ceq(2)=sum(n(3:300)./p(3:300));
ceq(3)=sum(o(3:300)./p(3:300));
-----------------------------------------------
spec = garchset('C',0,'K',0.05,'ARCH',[0.4 0.15]);
[a,s,o] = garchsim(spec,300);
y=a.^2;
[x,fevl]=fmincon(@(x)myfun1(x,y),[0.06,0.5,0.2,7,9,10],[],[],[],[],[],[],@(x)mycon(x,y))
然後去跑...會出現
?? Error using ==> mtimes
Inner matrix dimensions must agree.
Error in ==> optim\private\nlconst at 611
schg=AN(i,:)*gf;
Error in ==> fmincon at 512
[X,FVAL,lambda,EXITFLAG,OUTPUT,GRAD,HESSIAN]=...
這邊我就不知該如何修改了...請知道的人教一下...謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.224.40.191
推
03/16 23:24, , 1F
03/16 23:24, 1F
→
03/16 23:37, , 2F
03/16 23:37, 2F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 3 篇):
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章