查看: 105|回复: 0|关注: 0

[未答复] 跪求!! matlab fmincon 输入参数过多错误

[复制链接]

新手

10 麦片

财富积分


050


1

主题

1

帖子

0

最佳答案
发表于 7 天前 | 显示全部楼层 |阅读模式
function f=fun1(x)
f=0;
for i=1:92
    f=f+x(i)*x(i+92);
end;
f=-f;%求最大值变为最小值

function g=fun2(x)
g=zeros(368,1);
for i=1:184
    g(i)=x(i)-xstrictmax(i);
    g(i+184)=xstrictmin(i)-x(i);
end;



sumpp=0;
for i=1:92
    sumpp=sumpp+porpotion(i);
end;
pp=porpotion./sumpp*1;
r_risk=riskpoint*0.07;
r=(0.0435+0.023+r_risk)./(1-0.05);
x=[r;pp];
[a,b]=fmincon('fun1',rand(184,1),[],[],[],[],zeros(184,1),[],'fun2');错误使用 fun2
输出参数太多。


出错 fmincon (line 622)
        [ctmp,ceqtmp] = feval(confcn{3},X,varargin{:});


出错 main (line 9)
[a,b]=fmincon('fun1',rand(184,1),[],[],[],[],zeros(184,1),[],'fun2');


原因:
    Failure in initial nonlinear constraint function evaluation.
    FMINCON cannot continue.





报错:



回复主题 已获打赏: 0 积分

举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

快速回复 返回顶部 返回列表