24小时热门版块排行榜    

查看: 440  |  回复: 2

宋飞的

铜虫 (正式写手)

[求助] 在matlab里用fmincon进行优化,出现以下问题

在matlab里用fmincon进行优化,出现以下问题:
%fmincon函数优化
%%%%%%%%%%%%%%%%%%%%%%%%5 M-函数文件
function f= funH(cita1,cita2,cita3,a,b)
U=[0.62
0.53
0.84];
V=[0.11
0.82
0.79];
f=sum(a.*(-1.0./cita1.*log(1+(exp(-cita1.*U)-1).*(exp(-cita1.*V)-1)./(exp(-cita1))))+b.*(exp(-((-log(U)).^cita2+ ...
(-log(V)).^cita2).^(1./cita2)))+(1-a-b).*((U.^(-cita3)+V.^(-cita3)-1).^(-1.0/(cita3))));
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%主程序
x0=[1];
A=[];
T=[];
Aeq=[];
beq=[];
VLB=[1,1,0,0,0];
VUB=[inf,inf,inf,1,1];
[x,fval]=fmincon(@funH, x0, A, T, Aeq, beq, VLB, VUB),
运行后出现:
[u]??? Input argument "a" is undefined.

Error in ==> funH at 9
f=sum(a.*(-1.0./cita1.*log(1+(exp(-cita1.*U)-1).*(exp(-cita1.*V)-1)./(exp(-cita1))))+b.*(exp(-((-log(U)).^cita2+(-log(V)).^cita2).^(1./cita2)))+(1-a-b).*((U.^(-cita3)+V.^(-cita3)-1).^(-1.0./(cita3)))
Error in ==> fmincon at 574
      initVals.f = feval(funfcn{3},X,varargin{:});

Caused by:
    Failure in initial user-supplied objective function evaluation. FMINCON
    cannot continue.
回复此楼
大小
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gbh036

新虫 (初入文坛)

2楼2015-11-26 06:44:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

宋飞的

铜虫 (正式写手)

引用回帖:
2楼: Originally posted by gbh036 at 2015-11-26 06:44:25
a没有赋值

不仅仅是这个问题。
大小
3楼2015-11-26 08:32:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 宋飞的 的主题更新
信息提示
请填处理意见