我定义了C
和d
矩阵,然后拨打lsqlin
:
lb = zeros(2, 1);
x = lsqlin(C, d, [], [], [], [], lb, []);
我得到了x
的解决方案,但有一条消息:
超过最大迭代次数;增加
OPTIONS.MaxIter
。
function page表示这与融合解决方案不同。但我不知道如何增加OPTIONS.MaxIter
,或者导致警告的原因。任何建议都会很棒,谢谢!
答案 0 :(得分:1)
根据matlab的版本,您需要查看optimset
函数来实现此目的。 optimoptions
是您可能无法使用的新功能。
它有类似的语法:
options = optimset('MaxIter',1500)
您可以阅读有关设置选项here
的更多信息答案 1 :(得分:0)
MaxIter
是您可以在函数调用中包含的选项。这是documentation:
x = lsqlin(C,d,A,b,Aeq,beq,lb,ub,x0,options)
并且“options
”可用于将MaxIter
增加到超出其默认值200
的范围。但是,这必须使用optimoptions
:
options = optimoptions('lsqlin','MaxIter',1500)
或
options = optimoptions(@lsqlin,'MaxIter',1500)
或者,您可以尝试使用optimtool
GUI。如果您不想从GUI运行问题,请将options
变量导出到工作区并将其声明为global
。