Hello,
I have a relatively simple problem that I am able to solve by hand (i.e. solution should be a_sol = s/2). However, when I try to solve it using the solve() function, I get the warning that an explicit solution could not be found. Below is the source code. Any advice would be greatly appreciated.
syms a s lambda1 lambda2;obj = log(a);cons1 = a;cons2 = s/2 - a;Lagrange = obj + lambda1*cons1 + lambda2*cons2;eq1 = [char(diff(Lagrange, a)), '=0'];eq3 = [char(diff(Lagrange, lambda1)), '>=0'];eq4 = [char(diff(Lagrange, lambda2)), '>=0'];eq3a = [char(diff(Lagrange, lambda1)*lambda1), '=0'];eq4a = [char(diff(Lagrange, lambda2)*lambda2), '=0'];eq6a = 'lambda1>=0';eq6b = 'lambda2>=0';[a_sol] = solve(eq1, eq3, eq4, eq3a, eq4a, eq6a, eq6b, a);
Best Answer