MATLAB: What is wrong with this

codelagrangeMATLAB

im trying to use lagrange multipliers to find mins and maxs and this is the code i wrote
syms x y L; f=(x^2)*y; g=x+(y^2)-16;
T=jacobian(f,[x y])-L*jacobian(g,[x y]);
[xsoln,ysoln,Lsoln]=solve(T,g)
im getting the following error messages:
Error using sym.getEqnsVars>checkVariables (line 92)
The second argument must be a vector of symbolic variables.
Error in sym.getEqnsVars (line 62)
checkVariables(vars);
Error in solve>getEqns (line 450)
[eqns, vars] = sym.getEqnsVars(argv{:});
Error in solve (line 225)
[eqns,vars,options] = getEqns(varargin{:});

Best Answer

You have to specify for what variable in T has to be solved.
Use
[xsoln,ysoln,Lsoln]=solve(T,[L,x,y])
The above solves for L,x,y
[xsoln,ysoln]=solve(T,[x,y])
The above solves for x,y, in terms of L.
Read the documentation part.