Unable to perform assignment because the indices on the left side are not compatible with the size of the right side
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Louis du Pisani
am 22 Okt. 2023
Kommentiert: Walter Roberson
am 23 Okt. 2023
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 Kommentare
Akzeptierte Antwort
Walter Roberson
am 22 Okt. 2023
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 Kommentare
Walter Roberson
am 23 Okt. 2023
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.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Get Started with Signal Processing Toolbox finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!