Re: [問題] 請問哪裡有錯(函數)?已回收
※ 引述《qwer098 (^^)》之銘言:
: 這是後來修改的..
: %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; %y是由garchsim生出的
: [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.41.61
討論串 (同標題文章)
完整討論串 (本文為第 3 之 3 篇):
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章