R中的复数

时间:2017-08-17 15:15:40

标签: r

我知道您可以通过以下方式轻松定义复数z: &。但是,当我想定义一个创建复数的函数时:

z <- 3 + 2i

我收到此错误消息:

  

f(1,2)中的错误:object&#39; yi&#39;没找到。

我不想使用f <- function(x,y){ x + yi } f(1,2) 函数,因为在我的情况下,很难找到复数的实部和虚部。

我该怎么办?

2 个答案:

答案 0 :(得分:5)

i表示法仅适用于数字(因为R中的变量不能以数字开头)。否则,它会将yi解释为名为&#34; yi&#34;的另一个变量。而不是将y转换为复数。相反,请使用*

明确使用乘法
f <- function(x,y){
    x + y * 1i
}
f(1,2)
# [1] 1+2i

答案 1 :(得分:2)

complex()功能正是为此目的而设计的。

f <- function(x,y){
  complex(real = x, imaginary = y)
}

f(1,2)
# [1] 1+2i

Here's一个方便的指南,用于处理R中的复数。