fmincon:Supplied objective function must return a scalar value.

1 次查看(过去 30 天)
%constraints c and ceq
for h=linspace(h_min,h_max,69);
x=zeros(N,1);
c=h-x(1)'*D*x(2);
end
function [c,ceq]= contr (x)
ceq=[];
c=c;
end
%function to optimize
[T,N]=size(RR)
629 69
f=@(x)x(1)'*sigma*x(2);
nonlcon=@contr;
Aeq=ones(1,N);
beq=1;
l_b=[];
u_b=[];
x0=ones(N,1);
A=[];
b=[];
sigma_2rao = zeros(1,length(h));
sigma_2rao(1)=var_min;
x_rao=zeros(N,length(h));
for h=linspace(h_min,h_max,69)
[x_rao(:,h),sigma_2rao(h)] = fmincon(f,x0,A,b,Aeq,beq,l_b,u_b,nonlcon);
end
  4 个评论
Ylenia Placella
Ylenia Placella 2020-11-15
I changed the codes like you said.
Now I have this error:
Unrecognized function or variable 'contr'.
Error in fmincon (line 649)
[ctmp,ceqtmp] =
feval(confcn{3},X,varargin{:});
Error in funzionerao_14 (line 15)
[x_rao(:,h),sigma_2rao(h)] =
fmincon(f,x0,A,b,Aeq,beq,l_b,u_b,nonlcon);

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Nonlinear Optimization 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by