我正在尝试根据其他项为两个复变量求解一组两个方程。
我将这两个方程放在一个列表中,并尝试将这两个变量一起求解,但这一直给我错误的结果。但是,如果我可以手动分离出每个等式中的项并替换它们,我就能得到正确的答案。这非常令人费解,我不明白这是最大值中的错误还是我正在做的事情有问题。任何指导/意见将不胜感激。
这是一个最小的示例,可以完成我所说的(以及最终输出)。在下文中,sol1
给了我不正确的解决方案并sol2
给了我正确的解决方案。
(%i2) kill(all)$
declare([R0, a, b, x, y], complex)$
eqs:[(2*%i*x*ω+24*R0^2*conjugate(R0)*b^2*conjugate(b)-48*R0^2*conjugate(R0)*a*b*conjugate(b)+24*R0^2*conjugate(R0)*a^2*conjugate(b)-24*R0^2*conjugate(R0)*conjugate(a)*b^2+48*R0^2*conjugate(R0)*a*conjugate(a)*b+%i*x-2*x-24*R0^2*conjugate(R0)*a^2*conjugate(a)), (6*%i*y*ω+8*R0^3*b^3-24*R0^3*a*b^2+24*R0^3*a^2*b+3*%i*y-2*y-8*R0^3*a^3)]$
(%i4) sol1:factor(solve(eqs, [x, y])[1])$
sol2:factor([solve(eqs[1],x)[1],solve(eqs[2],y)[1]])$
(%i6) factor(subst(sol1,eqs));
factor(subst(sol2,eqs));
(%o5) [0,-24*R0^3*(b-a)^3*(2*%i*ω+%i-1)]
(%o6) [0,0]