使用拉格朗日乘数时的MATLAB错误?
我有一段代码,在运行时,应该正确地使用拉格朗日乘数来查找函数的最大值/最小值:使用拉格朗日乘数时的MATLAB错误?,matlab,Matlab,我有一段代码,在运行时,应该正确地使用拉格朗日乘数来查找函数的最大值/最小值: clear all syms x y L; f = x^4+2*y^4; g = x^2+5*y^2+2*y^2-10; firstpart=jacobian(f,[x y])-L*jacobian(g,[x y]); [Lsoln,xsoln,ysoln]=solve(firstpart,x^2+5*y^2+2*y^2-10); subs(f,{x,y},{xsoln,ysoln}) %
clear all
syms x y L;
f = x^4+2*y^4;
g = x^2+5*y^2+2*y^2-10;
firstpart=jacobian(f,[x y])-L*jacobian(g,[x y]);
[Lsoln,xsoln,ysoln]=solve(firstpart,x^2+5*y^2+2*y^2-10);
subs(f,{x,y},{xsoln,ysoln})
% The coordinates that correspond with the greatest and smallest values
% above are the maximum and minimum, respectively.
但是,当我运行它时,会出现四个错误:
第二行使用sym.getEqnsVars>checkVariables时出错
参数必须是符号变量的向量
sym.getEqnsVars第62行出错
checkVariablesvars
solve>getEqns第450行[eqns,vars]中出错=
sym.getEqnsVarsargv{:}
解算第225行[eqns,vars,options]中的错误=getEqnsvarargin{:}
有人能帮忙吗?你要传递两个方程作为单独的参数来求解,这是不可能的。您必须将两者都放入一个数组中
[Lsoln,xsoln,ysoln]=solve([firstpart,x^2+5*y^2+2*y^2-10] );