我的代码在运行时应正确使用拉格朗日乘数来查找函数的最大值/最小值:
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(第92行)第二个 参数必须是符号变量的向量。
sym.getEqnsVars出错(第62行) checkVariables(VARS);
解决错误> getEqns(第450行)[eqns,vars] = sym.getEqnsVars(argv的{:});
求解时出错(第225行)[eqns,vars,options] = getEqns(varargin {:});
有人可以帮忙吗?
答案 0 :(得分:0)
你传递两个方程作为zu求解的单个参数,这是不可能的。你必须将两者都放入一个数组
[Lsoln,xsoln,ysoln]=solve([firstpart,x^2+5*y^2+2*y^2-10] );