求解R中的方程组

时间:2010-11-02 08:27:42

标签: r symbolic-math

使用Ryacas库可以在R中实现象征性地求解方程。 例如

library(Ryacas)
yacas("Solve(x/(1+x) == a, x)")

给出

expression(list(x == a/(1 - a)))

有人知道如何(象征性地)解决方程组?

谢谢。

2 个答案:

答案 0 :(得分:11)

好吧,我使用优秀的python库 sympy 进行符号计算。

使用 sympy ,直截了当地求解方程组:

>>> from sympy import *
>>> x,y = symbols('x y')
>>> solve([Eq(x + 5*y, 2), Eq(-3*x + 6*y, 15)], [x, y])
{y: 1, x: -3}

这就是如何使用符号代数解决方程组,除非通过python包。

好消息是,有一个R端口可以称为 rsympy ,可以在CRAN或Google Code here上找到。

我从未使用过rsympy,除了下载/安装它并通过rsympy手册中的几个最简单的例子。在过去的三年里,我经常使用原来的python库,我可以高度推荐它。

答案 1 :(得分:3)

试试这个:

yacas( "OldSolve({a*x+y==0,x+z==0},{x,y})" )