我有方程组
x + y - xy = c1
x + z - xz = c2
ay + bz = c3
(a,b,c1,c2和c3已知) 我想知道这组方程是否具有封闭形式的解决方案。或者是最好的方法在R中准确地解决它?
答案 0 :(得分:3)
我推荐rSymPy
,这是令人敬畏的python库的R端口,用于符号数学。
library(rSymPy)
sympy("var('x,y,a,b,z,c1,c2,c3')") # declare vars
sympy("solve([Eq(x+y-x*y,c1),Eq(x+z-x*z,c2),Eq(a*y-b*z,c3)],[x,y,z])",
retclass="Sym")
答案 1 :(得分:2)
如果你懒得做代数:
Wolfram Alpha says在最一般的情况下(假设这些分母都不为零):
x=(a*c1+b*c2-c3)/(a+b-c3)
y=(b*c1-b*c2-c1*c3+c3)/(-a*c1+a-b*c2+b)
z=(a*(c1-c2)+(c2-1)*c3)/(a*(c1-1)+b*(c2-1))