Unable to perform assignment because the indices on the left side are not compatible with the size of the right side
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Louis du Pisani
il 22 Ott 2023
Commentato: Walter Roberson
il 23 Ott 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 Commenti
Risposta accettata
Walter Roberson
il 22 Ott 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 Commenti
Walter Roberson
il 23 Ott 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.
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Get Started with Signal Processing Toolbox in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!