Unable to perform assignment because the indices on the left side are not compatible with the size of the right side
조회 수: 1 (최근 30일)
이전 댓글 표시
I have a window frame B and B is an array of 1x(length(frame)). I have a signal that is divided into 10 segments that is as long as length(frame) with 50% overlap 'hop' that is hop = length(frame)/2. The segment is saved in an array 'Fil' of size length(frame) x 19. I want to take the fft of every segment with a window applied to it.It is all done in a for loop with k = 20 and FFT is a newly created array in the loop. I used this line of code but it give me the error in the title.
for n = 1:k -1
FFT(:,n) = fft(B'.*Fil(:,n));
end
댓글 수: 0
채택된 답변
Walter Roberson
2023년 10월 22일
Give the command window command
dbstop if error
Run the code. When it stops, query
n
size(B.')
size(Fil(:,n))
size(fft(B'.*Fil(:,n)))
whos FFT
and tell us the results
댓글 수: 2
Walter Roberson
2023년 10월 23일
You should be using functions... then you would not have to worry about the possibility of left-over arrays of incompatible size in local variables.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Get Started with Signal Processing Toolbox에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!