Why my Nonlinear function cannot be solved??

2 views (last 30 days)
I'm MATLAB beginner. so please help me~^^*
fun_y =
function_handle with value:
@(y1,y2)y1.*8.0e+1+y2.*7.0e+1-log(y1)-log(y2)
y1 = optimvar('y1');
y2 = optimvar('y2');
prob.Objective = fcn2optimexpr(fun_y, y1, y2);
y0.y1 = 1;
y0.y2 = 1;
[sol,fval] = solve(prob,y0);
However, the error masssage is "Check for missing argument or incorrect argument data type in call to function 'solve'.".
I don't know how to correct... UU
Help me please...!

Accepted Answer

Matt J
Matt J on 29 Sep 2021
Edited: Matt J on 29 Sep 2021
fun_y=@(y1,y2)y1.*8.0e+1+y2.*7.0e+1-log(y1)-log(y2);
y1 = optimvar('y1');
y2 = optimvar('y2');
prob = optimproblem('Objective',fcn2optimexpr(fun_y, y1, y2));
y0.y1 = 1;
y0.y2 = 1;
[sol,fval] = solve(prob,y0)
Solving problem using fminunc. Local minimum possible. fminunc stopped because the size of the current step is less than the value of the step size tolerance.
sol = struct with fields:
y1: 0.0125 y2: 0.0143
fval = 10.6305
  1 Comment
연승 김
연승 김 on 29 Sep 2021
Wow. you're genius!!!!!! Wow.. amazing...
I have to study hard!!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!