gpt4 book ai didi

R:奇怪的触发函数行为

转载 作者:行者123 更新时间:2023-12-04 10:45:38 25 4
gpt4 key购买 nike

作为过渡到 R 的 Matlab 用户,我遇到了将三角函数应用于度数的问题。在 Matlab 中,弧度和度数都有三角函数(例如分别为 cos 和 cosd)。 R 似乎只包含弧度函数,因此需要我创建自己的函数(见下文)

cosd<-function(degrees) {
radians<-cos(degrees*pi/180)
return(radians)
}

不幸的是,这个功能不能一直正常工作。一些结果如下所示。
> cosd(90)
[1] 6.123234e-17
> cosd(180)
[1] -1
> cosd(270)
[1] -1.836970e-16
> cosd(360)
[1] 1

我想了解导致此问题的原因以及如何解决此问题。谢谢!

最佳答案

这是浮点运算:

> all.equal(cosd(90), 0)
[1] TRUE
> all.equal(cosd(270), 0)
[1] TRUE

如果这就是您所说的“无法正常工作”的意思?

这也是一个常见问题: http://cran.r-project.org/doc/FAQ/R-FAQ.html#Why-doesn_0027t-R-think-these-numbers-are-equal_003f

关于R:奇怪的触发函数行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5806807/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com