An error message using fmincon
2 次查看(过去 30 天)
显示 更早的评论
Dear all,
I minimize this function.
g=randn(1000,1);
u=randn(1000,1);
ff = @(x) sum( ( g(2:end)- x(1)- x(2)*(g(1:end-1)-x(1)) - u(2:end)*x(3) ).^2 );
xx = fmincon(ff,[0.1 0.2 0.3],[],[],[],[],[],[],@unitdisk3,options);
where
function [c,ceq] = unitdisk3(x)
c = [ x(2)-0.999; -x(2)-0.999 ;- x(3) +0.001 ];
ceq = [];
end
but I get this error message
Error using vertcat
Dimensions of arrays being concatenated are not consistent.
Error in unitdisk3 (line 2)
c = [ x(2)-0.999; -x(2)-0.999 ;- x(3) +0.001 ];
Error in fmincon (line 633)
[ctmp,ceqtmp] = feval(confcn{3},X,varargin{:});
Caused by:
Failure in initial nonlinear constraint function evaluation. FMINCON cannot
continue.
Any ideas why?
0 个评论
采纳的回答
Sulaymon Eshkabilov
2019-5-26
Hi Ektor,
You have done a good work except for two small flaws, but crucial ones. Here are the corrected scripts:
function [c,ceq] = unitdisk3(x)
c = [ x(1)-0.999, -x(2)-0.999 , - x(3) +0.001 ];
ceq = [];
end
g=randn(1000,1);
u=randn(1000,1);
options = optimoptions('fmincon','Display','off', 'Algorithm', 'active-set');
ff = @(x) sum((g(2:end)- x(1)- x(2)*(g(1:end-1)-x(1)) - u(2:end)*x(3)).^2);
xx = fmincon(ff,[0.1 0.2 0.3],[],[],[],[],[],[],@unitdisk3,options);
Good luck.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Quadratic Programming and Cone Programming 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!