Problem in finding ABS of a complex number of 2D matrix

2 vues (au cours des 30 derniers jours)
Bharath
Bharath le 17 Fév 2015
Commenté : Bharath le 17 Fév 2015
I've created a 2D matrix of size 4096x28 which contains complex numbers generated after performing FFT on a raw signal. Now I'm trying to find abs of the complex numbers in this matrix. But I get an error my code and error are as follows
%fft for X signal
fftx=fft(reshape(T_hor,4096,[]));
%Xn value of the complex signal
Xn = abs(fftx);
%phase angle for X signal
alpha = angle(fftx);
%FFT for Y signal
ffty= fft(reshape(T_ver,4096,[]));
%Yn value for the complex signal
Yn=abs(ffty,NFFT);
%phase angle for the second signal
beta=angle(ffty);
I get this error
"??? Error using ==> abs
Too many input arguments.
Error in ==> Test_run_discard_AU_2 at 31
Yn=abs(ffty,NFFT);"
Any hints or suggestions would be really helpful. Thanks in advance.

Réponse acceptée

Stephen23
Stephen23 le 17 Fév 2015
Modifié(e) : Stephen23 le 17 Fév 2015
abs only accepts one input argument, whereas you are trying to use it with two: abs(ffty,NFFT).
In fact abs is defined as a unary operation , so what operation are you hoping to achieve by providing it with two arguments?
  4 commentaires
Yoav Livneh
Yoav Livneh le 17 Fév 2015
Use
Yn=abs(ffty);
like Stephen Cobeldick said, and you should be fine.
Bharath
Bharath le 17 Fév 2015
Sorry guys! Little confused. I used only one argument for abs for fftx but ffty I made a mistake. I didn't see that. So I was thinking something else. Thanks again for your valuable time.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by