hi i was running this simple code,but i got this error,any idea how to fix it?
L = 140; % Length of signal
NFFT = 2^nextpow2(L); % Next power of 2 from length of y
YY = fft(rawdata,NFFT)/L;
((((((((((Index exceeds matrix dimensions.))))))))
Error in Untitled2 (line 11)
YY = fft(rawdata,NFFT)/L;

댓글 수: 4

Before the YY line, put this and tell us what it says
whos rawdata
NFFT
Is NFFT > the dimensions of rawdata?
thanks for your fast reply, i did what you said,here are the result
Name Size Bytes Class Attributes
rawdata 140x1 1120 double
NFFT =
256
Next step:
In the Command Window, type
which fft -all
after the error.
I get 6 answers, all in: C:\Program Files\MATLAB\.
mohamad mohamad
mohamad mohamad 2014년 12월 10일
편집: Star Strider 2014년 12월 10일
fft is a variable.
built-in (C:\MATLAB\R2012a\toolbox\matlab\datafun\@logical\fft) % Shadowed logical method
built-in (C:\MATLAB\R2012a\toolbox\matlab\datafun\@single\fft) % Shadowed single method
built-in (C:\MATLAB\R2012a\toolbox\matlab\datafun\@double\fft) % Shadowed double method
C:\MATLAB\R2012a\toolbox\matlab\datafun\@uint8\fft.m % Shadowed uint8 method
C:\MATLAB\R2012a\toolbox\matlab\datafun\@uint16\fft.m % Shadowed uint16 method
C:\MATLAB\R2012a\toolbox\comm\comm\@gf\fft.m % Shadowed gf method
C:\MATLAB\R2012a\toolbox\distcomp\parallel\@codistributed\fft.m % Shadowed codistributed method
C:\MATLAB\R2012a\toolbox\dsp\filterdesign\@qfft\fft.m % Shadowed qfft method
C:\MATLAB\R2012a\toolbox\ident\ident\@iddata\fft.m % Shadowed iddata method

댓글을 달려면 로그인하십시오.

 채택된 답변

Image Analyst
Image Analyst 2014년 12월 10일

0 개 추천

How can you take 256 samples from an array with 140 samples? Maybe you need to pad it with zeros or something
newArray = [oldArray, zeros(1, NFFT - length(oldArray))];

댓글 수: 6

Actually it says it does the padding for you so you should be okay: "Y = fft(X,n) returns the n-point DFT. fft(X) is equivalent to fft(X, n) where n is the size of X in the first nonsingleton dimension. If the length of X is less than n, X is padded with trailing zeros to length n. "
Try Star's suggestion of
which -all fft
And see if it says this:
built-in (C:\Program Files\MATLAB\R2014b\toolbox\matlab\datafun\@logical\fft) % logical method
built-in (C:\Program Files\MATLAB\R2014b\toolbox\matlab\datafun\@single\fft) % single method
built-in (C:\Program Files\MATLAB\R2014b\toolbox\matlab\datafun\@double\fft) % double method
C:\Program Files\MATLAB\R2014b\toolbox\matlab\datafun\@uint8\fft.m % uint8 method
C:\Program Files\MATLAB\R2014b\toolbox\matlab\datafun\@uint16\fft.m % uint16 method
or does it have some folders with your name in them?
mohamad mohamad
mohamad mohamad 2014년 12월 10일
thanks for your replay i did what u said,and pad it with zeros but i got this new error
Error using horzcat CAT arguments dimensions are not consistent.
Error in Untitled2 (line 11) newArray = [rawdata, zeros(1, NFFT - length(rawdata))];
mohamad mohamad
mohamad mohamad 2014년 12월 10일
i tried 'which -all fft' i had all the files that you mentioned
Image Analyst
Image Analyst 2014년 12월 10일
Like Star said, you have a variable called fft, apparently in some code you didn't show us. Rename that variable.
mohamad mohamad
mohamad mohamad 2014년 12월 10일
my vector was a column vector and could not be concatenated with row vector zeros(1, NFFT - length(rawdata)).so i changed it to zeros(NFFT - (length(rawdata)), 1)]; and it works properly thanks indeed for your fast replays
Image Analyst
Image Analyst 2014년 12월 10일
OK, glad it works, though I don't know why since the help for fft() said that it would do that padding for you.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Numeric Types에 대해 자세히 알아보기

질문:

2014년 12월 10일

댓글:

2014년 12월 10일

Community Treasure Hunt

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

Start Hunting!

Translated by