2015-11-16 12 views
1

在R中,應用於複合體的函數Arg返回-pi和+ pi之間的角度。例如: Arg((1 + i)^ 5)= -2.356 ...(-3 * pi/4弧度)R中的Arg函數給出的值是否大於pi?

我可以有返回正角的函數,甚至大於+ pi?例如,我想要: 「功能」((1 + i)^ 5)= 3.926 ...(5 * pi/4弧度)

看來Arg不適應;也許某些其他函數在某些包中退出?

感謝您的任何幫助。

回答

1

5 * pi/4與-3 * pi/4相同。所以,你可以這樣做:

Arg_positive = function(complex) { 
    initial = Arg(complex) 

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

只取除法的餘數到二皮:

Arg((1+1i)^5) %% (2*pi) 
#[1] 3.926991 
+0

這很完美!謝謝。 – Andrew

0

你可以創建自己的函數來解決這個問題。

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

你不覺得@bramtayl的答案是一樣的嗎?另外,這個功能甚至沒有矢量化,而他是。 – nicola

相關問題