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{:});

 Respuesta aceptada

KSSV
KSSV el 20 de Oct. de 2016
Editada: KSSV el 20 de Oct. de 2016

0 votos

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.

1 comentario

Walter Roberson
Walter Roberson el 20 de Oct. de 2016
If you were thinking that you were solving for g, then you cannot do that: it is only possible to solve for variables, not for expressions.

Iniciar sesión para comentar.

Más respuestas (0)

Etiquetas

Preguntada:

el 20 de Oct. de 2016

Comentada:

el 20 de Oct. de 2016

Community Treasure Hunt

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

Start Hunting!

Translated by