r-有没有办法测试数字是弧度还是度数?

时间:2019-03-20 18:33:34

标签: r trigonometry degrees radians

我正在将测试添加到我的R包iemisc中。以前,我创建的函数使用度而不是弧度表示三角函数。

有没有一种方法可以确定给定数字的弧度与度之间的关系?

如果是这样,那么我想将这种方法纳入我的测试中。

例如,根据John Mount最近撰写的Win-Vector Blog文章http://www.win-vector.com/blog/2019/03/unit-tests-in-r/RUnit小插图,我为cosd编写了以下测试:

test_cosd <- function() {

library("iemisc")
RUnit::checkEquals(cosd(360), 1)
RUnit::checkEquals(cosd(90), 0)
RUnit::checkEquals(cosd(0), 1)
RUnit::checkException(cosd(pi * 3 / 4))
RUnit::checkException(cosd("sq"))

  invisible(NULL)
}

但是,我想要一个 checkException 用于弧度测量而不是度测量的数字。

谢谢。

1 个答案:

答案 0 :(得分:1)

可以利用度量之间的大小差异来合理推断输入是度还是弧度。以度为单位的度量大约是以弧度为单位的相同度量的大小的60倍。这可以从基本关系中看出:

180 degrees = pi (3.14159) radians

如果您可以安全地假设用户仅以小于整个圆的角度使用该工具,则可能有一种简单的试探法(在许多物理产品工程应用中这是不合理的,除非涉及到开瓶器螺旋)。在那种情况下,假定值大于2 * pi或6.28代表度是安全的。

否则,值本身是无法区分的。