Unable to perform assignment because the indices on the left side are not compatible with the size of the right side
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Louis du Pisani
el 22 de Oct. de 2023
Comentada: Walter Roberson
el 23 de Oct. de 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 comentarios
Respuesta aceptada
Walter Roberson
el 22 de Oct. de 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 comentarios
Walter Roberson
el 23 de Oct. de 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.
Más respuestas (0)
Ver también
Categorías
Más información sobre Get Started with Signal Processing Toolbox en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!