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

 採用された回答

KSSV
KSSV 2016 年 10 月 20 日
編集済み: KSSV 2016 年 10 月 20 日

0 投票

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 件のコメント

Walter Roberson
Walter Roberson 2016 年 10 月 20 日
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.

サインインしてコメントする。

その他の回答 (0 件)

質問済み:

2016 年 10 月 20 日

コメント済み:

2016 年 10 月 20 日

Community Treasure Hunt

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

Start Hunting!

Translated by