2012-03-19 87 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()就可以給出數字的模數。