[問題] 關於 too many output arguements已回收
各位大大好
我想請問一下
我想用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
06/16 22:09, 1F
→
06/16 22:21, , 2F
06/16 22:21, 2F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章