2011-12-19 50 views
0
smys x y A; 
L = A*(-2*x -y -3) + 2*x^2 - 2*x*y + 3*y^2; 
Lx = diff(L, x); 
Ly = diff(L, y); 
LA = diff(L, A); 
a = solve(Lx, Ly, LA); 
a = [a.x, a.y, a.A] 

a = 
[ -7/6, -2/3, -5/3] 

现在这块看起来不错,做Matlab的解决给出了答案,当用手计算,是不正确的

subs(Lx, {x,y,A}, a) 

给出的预期为0,但是,如果我取的值和手动计算Lx/Ly/LA我只能得到零。为什么会这样?

回答

1

这是正确的。如果我没有打破它看起来像计算

Lx = -2*A+4*x-2*y 

,从而

Lx = -2*(-5/3)+4*(-7/6)-2*(-2/3) = 10/3 - 14/3 + 4/3 = 0 

这同样适用于LyLA

+0

显然我在笔记本上写下了错误的公式......泡芙走了我一个小时的生活.. – karka91 2011-12-19 09:29:16

相关问题