2017-07-14 36 views
0

我有这样的代码在R:用于MatLab的R等效中的Mod()函数?

> test <- c(1+1i,2+2i,3+3i,4+4i,5+5i) 
> test 
[1] 1+1i 2+2i 3+3i 4+4i 5+5i 
> Mod(test) 
[1] 1.414214 2.828427 4.242641 5.656854 7.071068 

我无法找到针对R MOD()函数的取代。我尝试了MatLab中的real()函数,但删除了虚构的组件(不想要我想要的)。

>> test = [1+1*i, 2+2*i, 3+3*i, 4+4*i, 5+5*i] 
test = 
1.0000 + 1.0000i 2.0000 + 2.0000i 3.0000 + 3.0000i 4.0000 + 4.0000i 5.0000 + 5.0000i 
>> real(test) 
ans = 
1  2  3  4  5 
+0

from https://uk.mathworks.com/help/matlab/ref/abs.html?requestedDomain=www.mathworks.com,sectrion *复数的大小*,可能是''' – user20650

回答

3

在Matlab中有abs()函数。

y = abs([3+4i,1+i]) 
>> ans = 5.0000 1.4142 
+0

仅供参考,文档](https://uk.mathworks.com/help/matlab/ref/abs.html)对于'abs'有一个非常简单的定义:“绝对值和**复杂度**”,它表明这是正确答案。 – Wolfie

1

realimag函数返回复数的各个部分。要获得复数的大小,使用absabs函数“返回数组X中每个元素的绝对值,或者如果X是复数,则abs(X)返回复数幅度。”