Trouble with optimization options - equation problem example
조회 수: 6 (최근 30일)
이전 댓글 표시
HI there,
I"m trying to change the opimset options for a fsolve function and I keep getting what I believe are syntax errors, or maybe an issue with an equation problem format. As an example, I want to turn off the final displayed information after running fsolve, but the options code does not see 'Display' as an argument. I am trying to work with other option arguments as well and get the same kind of error. Any help is appreciated!
Fsolve does work when I don't call for the additional options.
C = optimvar('C',4); %Optimal vector of unknowns
eq1 = B == C(4)/C(3)/C(2);
eq2 = K == C(1)*C(3)/((C(4)*C(4));
eq3 = C(3) == 1 - C(1) - 2*C(2);
eq4 = C(2) == C(1) - 2*C(3); %
prob = eqnproblem; %Created an equation problem
prob.Equations.eq1 = eq1;
prob.Equations.eq2 = eq2;
prob.Equations.eq3 = eq3;
prob.Equations.eq4 = eq4;
options = optimset('Display','off');
C0.C = [a b c d]; %initial guess for unknowns
[sol,~,~] = solve(prob,C0,options);
Error using optim.internal.problemdef.ProblemImpl/solveImpl
'Display' is not a recognized parameter. For a list of valid name-value pair arguments, see the documentation for this function.
Error in optim.problemdef.EquationProblem/solve
Error in Fxn(line 65)
[sol,~,~] = solve(prob,C0,options);
채택된 답변
Matt J
2023년 2월 16일
편집: Matt J
2023년 2월 16일
options = optimoptions(prob);
options.Display='off';
[sol,~,~] = solve(prob,C0,'Options',options);
댓글 수: 2
Matt J
2023년 2월 16일
Yes, that was the main problem, but you should probably also discontinue using optimset. I don't know how much longer it will be supported.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Surrogate Optimization에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!