Error Using zeros; Size inputs must be scaler
Show older comments
function ampData = ampMeasure(filename, N, R)
% load a signal
[x, R] = audioread(filename);
% choose a subwindow size (in samples)
N = x * .125;
% calculate how many subwindows there are in the signal
numWindows = floor(length(x)/N);
%make a multi-row column to store all the amp measurements
a = zeros(numWindows, 1);
% make a for loop that iterates once per subwindow
for i=1:numWindows
% calculate the start/end sample range based on i
startSamp = (i-1) * N + 1;
endSamp = startSamp + (N-1);
% get the RMS of this window
a(i) = rmsAmp( x(startSamp:endSamp) );
fprintf("the RMS amp of window %i is %f\n", i, a);
end
ampData = [a(i)];
end
% it says my error is on the line with a = zeros(numWindow, 1)
% I know the situation seems easy, but I don't get it??
1 Comment
Prasad Reddy
on 1 May 2020
Edited: Prasad Reddy
on 1 May 2020
Please check weather numWindow is a scalar or nor ??
what does this command produce?? thatis important.
Answers (1)
Walter Roberson
on 1 May 2020
0 votes
N = x * .125; should be
N = floor(length(x) * .125);
Categories
Find more on Measurements and Feature Extraction in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!