Error Using zeros; Size inputs must be scaler

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

Please check weather numWindow is a scalar or nor ??
what does this command produce?? thatis important.

Sign in to comment.

Answers (1)

N = x * .125; should be
N = floor(length(x) * .125);

Categories

Asked:

on 1 May 2020

Answered:

on 1 May 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!