首页 > 解决方案 > R中的积分计算器

问题描述

我知道如何使用积分计算器来获得数值,但不知道如何获得代数方程。

例如:

integrand <- function(x) {1/((x+1)*sqrt(x))}
integrate(integrand, lower = 0, upper = Inf)

使用此代码,我可以得到 3.141593 绝对错误< 2.7e-05

但是,如果我想使用此代码怎么办:

integrand <- function(x) {2*x}
integrate(integrand, lower = -Inf, upper = Inf)

得到x^2.

显然,它不起作用。

如果有人可以提供帮助,我将不胜感激。非常感谢!

标签: rcalculatorintegral

解决方案


R 不做符号数学,但有 R 包做。我将使用 CRAN 包RyacasrSympy给出(非常)简短的示例。

1. 包装Ryacas

library(Ryacas)

f <- ysym("2*x")
integrate(f, "x")
#y: x^2

2. 包装rSymPy

使用包rSymPy,您需要先定义符号"x"。这是通过 function 完成的Var
注意:在我的测试中,第一次给出任何Var或被sympy称为一系列警告。我打断了 R,第二次一切顺利。

library(rSymPy)

x <- Var("x")
sympy("integrate(2*x)")
#[1] "x**2"

推荐阅读