Решение нелинейного уравнения в R

у меня есть система уравнений

x + y - xy = c1
x + z - xz = c2
ay + bz = c3

(a, b, c1, c2 и c3 известны) Я хочу знать, имеет ли этот набор уравнений решение в замкнутой форме. Или это оптимальный способ точно решить это в R?


person vinash85    schedule 19.03.2015    source источник


Ответы (2)


Если вам лень заниматься алгеброй:

Wolfram Alpha говорит в самом общем случае (при условии, что ни один из этих знаменателей не равен нулю):

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))
person Ben Bolker    schedule 19.03.2015
comment
После написания вопроса я понимаю, что это разрешимое и закрытое решение. Спасибо, в любом случае. - person vinash85; 19.03.2015

Я бы порекомендовал rSymPy, порт R замечательной библиотеки Python для символьной математики.

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")
person chepyle    schedule 19.03.2015