我正在将测试添加到我的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 用于弧度测量而不是度测量的数字。
谢谢。
答案 0 :(得分:1)
可以利用度量之间的大小差异来合理推断输入是度还是弧度。以度为单位的度量大约是以弧度为单位的相同度量的大小的60倍。这可以从基本关系中看出:
180 degrees = pi (3.14159) radians
如果您可以安全地假设用户仅以小于整个圆的角度使用该工具,则可能有一种简单的试探法(在许多物理产品工程应用中这是不合理的,除非涉及到开瓶器螺旋)。在那种情况下,假定值大于2 * pi或6.28代表度是安全的。
否则,值本身是无法区分的。