楼主: ganxu6630
3112 1

[统计软件与数据分析] 使用matlab中fmincon函数出错 [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

初中生

4%

还不是VIP/贵宾

-

威望
0
论坛币
78 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
150 点
帖子
1
精华
0
在线时间
21 小时
注册时间
2017-9-22
最后登录
2022-7-12

楼主
ganxu6630 发表于 2020-4-29 09:56:56 |AI写论文
50论坛币
function f=myfun(x)  %目标函数
R=x*r';
alpha=0.05;
Percent=100*(0:alpha:1);
y=prctile(R,Percent);
VaR=-y;
f=VaR+1/300/alpha*sum(max(0,-R-VaR));

m=mean(r);
M=0.002;
A1=eye(30);
b1=zeros(1,30);
A2=m;
b2=M;
A=-[A1;A2];
b=-[b1,b2]';
Aeq=ones(1,30);
beq=1;
lb=zeros(30,1);
ub=ones(30,1);
x0=ones(1,30)/30;
options=optimset('LargeScale','off');
[x,CVaR]=fmincon(@myfun,x0,A,b,Aeq,beq,lb,ub,[],options);

r是300行30列的矩阵,运行程序后一直提示出错:
出错 fmincon (line 552)
      initVals.f = feval(funfcn{3},X,varargin{:});
出错 moxingqiujie (line 15)
[x,CVaR]=fmincon(@myfun,x0,A,b,Aeq,beq,lb,ub,[],options);
原因:
    Failure in initial objective function evaluation. FMINCON cannot continue.
求大神们帮忙解决一下

关键词:fmincon函数 fmincon MATLAB atlab matla matlab fmincon函数

沙发
math_aicheal 发表于 2020-5-5 20:33:30
你好,没有r的数据,我用rand生成了一个,它在sum(max(0,-R-VaR))时维数不对,R是300维的,而VaR是21维。你检查一下你的代码是否有问题,或者提供一下r的数据。

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

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2026-1-3 21:10