首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >R中的Arg函数能给出大于pi的值吗?

R中的Arg函数能给出大于pi的值吗?
EN

Stack Overflow用户
提问于 2015-11-17 00:32:48
回答 3查看 62关注 0票数 1

在R中,应用于复数的函数Arg返回-pi和+pi之间的角度。例如: Arg((1+i)^5) = -2.356...(-3*pi/4弧度)

我可以有一个函数返回正角度,甚至大于+pi吗?例如,我希望:"function"((1+i)^5) = 3.926...(5*pi/4弧度)

Arg似乎是不适应的;也许在一些包中存在一些其他函数?

谢谢你的帮助。

EN

回答 3

Stack Overflow用户

发布于 2015-11-17 00:36:29

5*pi/4等同于-3*pi/4。所以你可以这样做:

代码语言:javascript
复制
Arg_positive = function(complex) {
  initial = Arg(complex)

  ifelse(initial < 0,
         initial + 2*pi, 
         initial)
}
票数 1
EN

Stack Overflow用户

发布于 2015-11-17 00:44:54

只需将除法的其余部分取为2pi:

代码语言:javascript
复制
Arg((1+1i)^5) %% (2*pi)
#[1] 3.926991
票数 1
EN

Stack Overflow用户

发布于 2015-11-17 00:51:39

您可以创建自己的函数来解决此问题。

代码语言:javascript
复制
pos.arg <- function(num)
{
  arg = Arg(num)
  if (arg < 0)
    arg <- arg + 2*pi
  arg
}

x <- complex(length.out = 1, 1, 1)
y <- x^5
pos.arg(y)
[1] 3.926991
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33740187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档