2012-03-19 79 views
0

这是一组点的傅立叶描述我怎样才能访问这个matlab矩阵元素?

a = 

    -3.4173 - 7.1634i 
    7.4589 + 0.1321i 
    3.1190 - 2.1870i 
    -7.1979 + 0.2863i 
    5.9594 + 0.8209i 
    -5.4295 -15.7931i 
    -1.0957 + 3.7485i 
    0.2657 - 4.1459i 
    7.4644 - 0.9546i 

我需要总结每一对中,但是当我使用一(1)或(1,1)它产生-3.4173 - 7.1634i 时我使用abs(a(1))或abs(a(1,1)),它也产生7.9367这对我来说没有意义!

我需要的是如何访问任何一对单独的每个元素,所以我得到-3.4173单独和 - 7.1634i单独以及所以我可以做它的规范化!

回答

1

你有一个复数的数组,你想要做的是访问每个数的实部和虚部。

r = real(a); 
i = imag(a); 

将导致ri分别包含你的描述符的实部和虚部。

要理解您从abs(a(1))得到“没有任何意义”答案的原因,请按照this link

+0

非常感谢,它的工作原理,谢谢你救了我! – 2012-03-20 00:11:14

1

你的数据类型看起来令人困惑,因为a(1,1)不应该给你回数字的虚部......如果数值只是复数,你的数组应该是一维的。但尝试使用数组元素上的real()imag()函数,它们将分别返回实部和虚部。尽管你可能想要考虑使用不同的数据结构,因为Matlab可以处理常规的复数值,在这种情况下,只需使用abs()就可以给出数字的模数。