2012-03-19 2 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

대단히 감사합니다. 작동합니다. 덕분에 나를 구해 줬습니다! –

1

a(1,1)은 숫자의 허수 부 분을 돌려 주어서는 안되기 때문에 데이터 유형이 혼란 스럽습니다. 값이 복소수 인 경우 배열의 크기는 1 차원이어야합니다. 그러나 배열 요소에 real()imag() 함수를 사용하면 실제 및 허수 부 각각을 반환합니다. Matlab은 일반적인 복잡한 값을 잘 처리 할 수 ​​있기 때문에 다른 데이터 구조를 사용하는 것이 좋습니다.이 경우 단순히 abs()을 사용하면 숫자의 모듈러스를 제공해야합니다.