我知道您可以通过以下方式轻松定义复数z:
&
。但是,当我想定义一个创建复数的函数时:
z <- 3 + 2i
我收到此错误消息:
f(1,2)中的错误:object&#39; yi&#39;没找到。
我不想使用f <- function(x,y){
x + yi
}
f(1,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中的复数。