Depends how you want to do it. I bet there's lots of ways.
I just made a piecewise signal and played it.
fs = 8192;
toneduration = 0.1;
spaceduration = 0.05;
tonefreq = 800;
nbeeps = 15;
t = linspace(0,toneduration,round(toneduration*fs));
y = 0.8*sin(2*pi*tonefreq*t); % tone
ys = zeros(1,round(spaceduration*fs)); % space
Y = [repmat([y ys],[1 nbeeps-1]) y]; % the whole signal
sound(Y,fs);
If you didn't want to have to generate the entire vector, maybe you could just use the y vector by itself and then play it in a loop, pausing afterwards each time. That would allow beeping indefinitely without needing a giant precalculated vector, but you'll have to wrangle the audio tools such that they behave as needed.
Something like this:
fs = 8192;
toneduration = 0.1;
spaceduration = 0.05;
tonefreq = 800;
nbeeps = 15;
t = linspace(0,toneduration,round(toneduration*fs));
y = 0.8*sin(2*pi*tonefreq*t);
a = audioplayer(y,fs);
for k = 1:nbeeps
play(a)
pause(spaceduration)
end
I couldn't get this to work using sound(). Audioplayer seems to work, but it's glitchy.