[未答复] Yalmip运行时报错 引用了不存在的字段 'replace'。求大佬

[复制链接]
yt-123456 发表于 2022-8-5 09:34:44
%%1.定义变量
x = sdpvar(10, 1);
%%2.定义约束
Constraints = [sum(x) <= 10, x(1)==0, 0.5 <= x(2) <= 1.5];       
for i = 1:7
        Constraints = [Constraints, x(i) + x(i+1)  <= x(i+2) + x(i+3)];
end
%%3.定义目标函数
Objective = x' * x + norm(x,1);    %norm(A,p) 功能:norm函数可计算几种不同类型的矩阵范数,根据p的不同可得到不同的范数,向量1范数=xi求和
%%4.为YALMIP以及求解器设置一些选项
options = sdpsettings('verbose', 1, 'solver', 'quadprog', 'quadprog.maxiter', 100)   
%verbose:展示求解细节的设置。0表示完全不显示,1表示适度显示,2则是完全显示。
%solver:用于告诉yalmip将调用的求解器,yalmip允许调用的求解器在solver里查看。如果没有对其设置,yalmip将自动调用一个合适的求解器。
%%5.求解问题
sol = optimize(Constraints, Objective, options);
%%6.分析错误标志
if sol.problem == 0
        % 说明计算成功,此时展示得到的结果
        solution = value(x)
else   %结束语句
        display('错了亲');
        sol.info
        yalmiperror(sol.problem)
end



报错信息:
引用了不存在的字段 'replace'。
出错 compileinterfacedata (line 126)
        if ~isempty(operators{i}.properties.replace)
出错 solvesdp (line 249)
[interfacedata,recoverdata,solver,diagnostic,F,Fremoved,ForiginalQuadratics] =
compileinterfacedata(F,[],logdetStruct,h,options,0,solving_parametric);
出错 optimize (line 31)
[varargout{1:nargout}] = solvesdp(varargin{:});
出错 Untitled (line 16)
sol = optimize(Constraints, Objective, options);


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

本版积分规则

相关帖子
相关文章
热门教程
站长推荐
快速回复 返回顶部 返回列表