[問題] 關於 too many output arguements已回收

看板MATLAB作者 (New * for U)時間16年前 (2009/06/16 21:51), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串1/2 (看更多)
各位大大好 我想請問一下 我想用lagrange方法解讓我的function會最小的值 以下是我的function以及她跑出來的問題 -------- function myfunvar(x) global x; global cmu; global csigma; M=5; rlow=0; psi=0.05; A=rlow-sum(x(1:M).*cmu(1:M)); A=A/((csigma*sum(x(1:M).^2)).^0.5); A=(A/2).^0.5; f=sum(x(1:M).*cmu(1:M))+x(M+1)*((1+erf(A))/2-psi); ------ function Littleb3(e1,e2,e3) M=5; mu=[0.25 0.25 0.25 0.25 0.25]; sigma=1.25; I=[1 0 0 0 0; 0 1 0 0 0; 0 0 1 0 0; 0 0 0 1 0; 0 0 0 0 1]; y = mvnrnd(mu,sigma*I,100); [cmu,s] = normfit(y); csigma=sum(s.^2)/M; global cmu; global csigma; global x; options=optimset('TolX',10^-e1,'TolCon',10^-e2,'TolFun',10^-e3,'MaxFunEvals',1e5,'MaxIter',1e5,'Display','iter','TolPCG',0.5,'Hessian','on'); A =[ 1 1 1 1 1 0;... -1 -1 -1 -1 -1 0]; b =[ 1;... -1]; Aeq = [ 1 1 1 1 1 0]; beq = 1; x0 = [ 1/5 1/5 1/5 1/5 1/5 0]; lb = [ 0 0 0 0 0 -inf]; ub = [ 1 1 1 1 1 inf]; [x,fval]=fmincon(@myfunvar,x0,A,b,Aeq,beq,lb,ub,[],options) ----------- >> Littleb3(20,40,80) ??? Error using ==> fmincon FMINCON cannot continue because user supplied objective function failed with the following error: Error using ==> myfunvar Too many output arguments. Error in ==> Littleb3 at 26 [x,fval]=fmincon(@myfunvar,x0,A,b,Aeq,beq,lb,ub,[],options) 到底為啥他都不給我跑哩>< 我debug de很久了說 請各位大大救救我吧~>"<~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.231.5

06/16 22:09, , 1F
function myfunvar(x) -> function f=myfunvar(x)
06/16 22:09, 1F

06/16 22:21, , 2F
謝謝大大 不過還是不行耶><""
06/16 22:21, 2F
文章代碼(AID): #1ADwDD_c (MATLAB)
文章代碼(AID): #1ADwDD_c (MATLAB)