Unable to perform assignment because the indices on the left side are not compatible with the size of the right side
1 回表示 (過去 30 日間)
古いコメントを表示
Louis du Pisani
2023 年 10 月 22 日
コメント済み: Walter Roberson
2023 年 10 月 23 日
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!