全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
2565 2
2014-05-18
尊敬的网友,我遇到一个小问题,
theta <- seq(0, 2*pi, len=100)
x      <- cos(theta)
但是
res    <- acos(x)
则与原来的theta有出入,如何才能将结果显示为(0, 2*pi)之间呢?谢谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2014-5-18 13:58:22
acos(x) 的值域是[0,pi]。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-5-31 14:09:11
asprine 发表于 2014-5-18 13:58
acos(x) 的值域是[0,pi]。
呵呵,可能是我没有说清楚。我有一组x值和y值,它们分属于不同的象限,而这些数值是对应于0~2*pi角度,所以需要根据它们的数值来推算对应的theta。
我找到了解决方法了:
theta1 <- acos(x/sqrt(x^2+y^2))[y>=0]
theta2 <- 2*pi - acos(x/sqrt(x^2+y^2))[y<0]
theta <- c(theta1, theta2)
theta <- sort(theta)
对应的x和y的值也应该根据重新调整后的theta来做相应的调整。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群