在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不適應;也許某些其他函數在某些包中退出?
感謝您的任何幫助。
在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不適應;也許某些其他函數在某些包中退出?
感謝您的任何幫助。
5 * pi/4與-3 * pi/4相同。所以,你可以這樣做:
Arg_positive = function(complex) {
initial = Arg(complex)
ifelse(initial < 0,
initial + 2*pi,
initial)
}
只取除法的餘數到二皮:
Arg((1+1i)^5) %% (2*pi)
#[1] 3.926991
你可以創建自己的函數來解決這個問題。
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
你不覺得@bramtayl的答案是一樣的嗎?另外,這個功能甚至沒有矢量化,而他是。 – nicola
這很完美!謝謝。 – Andrew