如何证明这两个函数相等?
a<-function(x) sec^2(x)
b<-function(x) 1+tan^2(x)
我尝试使用identical
,但它显示为false。
identical(a,b)
[1] FALSE
只使用基本的R,您可以取一些x值的范围,计算这些值对于两个函数的结果,并检查它们是否相等。
a <- function(x) (1/cos(x))^2
b <- function(x) 1 + tan(x)^2
x <- seq(from = -2 * pi, to = 2*pi, length.out = 1e4)
all.equal(a(x), b(x))
# TRUE
如果您已经安装了Maxima(免费软件),您可以使用rim
:
library(rim)
#> Maxima successfully registered as knitr engine!
maxima.get("trigsimp(1+(tan(x))^2 - (sec(x))^2);")
#> (%o1) 0
sec
函数。它来自哪里? - jdobressec
函数吗?我没有,所以我必须定义它:sec <- function(x) 1/sin(x)
,或直接使用1/sin(x)
。 (2) 在R中,编写第一个函数的方法是sec(x)^2
,而不是sec^2(x)
。 (3)identical(a,b)
用于测试两个函数是否相等,你需要测试函数的结果。 - r2evanssec(x) = 1 / cos(x)
。 - PaulS