How to save mat file from specific index

6 次查看(过去 30 天)
HI, I hope you are doing well.
I have the following Code It saves the frame as mat file name as frame8PSK001 to frame8PSK5000.
I want to save the frame starting from 8PSK5001 to So ON how can i save that
The folllowing for loop is used to save the mat files
for p=1:numFramesPerModType
How can i change the value
dataDirectory='C/NewFolder'
numFramesPerModType=5000
fileNameRoot = "frame";
% Check if data files exist
dataFilesExist = false;
if exist(dataDirectory,'dir')
files = dir(fullfile(dataDirectory,sprintf("%s*",fileNameRoot)));
if length(files) == numModulationTypes*numFramesPerModType
dataFilesExist = true;
end
end
if ~dataFilesExist
disp("Generating data and saving in data files...")
[success,msg,msgID] = mkdir(dataDirectory);
if ~success
error(msgID,msg)
end
for modType = 1:numModulationTypes
elapsedTime = seconds(toc);
elapsedTime.Format = 'hh:mm:ss';
fprintf('%s - Generating %s frames\n', ...
elapsedTime, modulationTypes(modType))
label = modulationTypes(modType);
numSymbols = (numFramesPerModType / sps);
dataSrc = helperModClassGetSourceAMC(modulationTypes(modType), sps, 2*spf, fs);
modulator = helperModClassGetModulatorAMC(modulationTypes(modType), sps, fs);
if contains(char(modulationTypes(modType)), {'B-FM','DSB-AM','SSB-AM'})
% Analog modulation types use a center frequency of 100 MHz
channel.CenterFrequency = 100e6;
else
% Digital modulation types use a center frequency of 902 MHz
channel.CenterFrequency = 902e6;
end
for p=1:numFramesPerModType
% Generate random data
x = dataSrc();
% Modulate
y = modulator(x);
% Pass through independent channels
rxSamples = channel(y);
% Remove transients from the beginning, trim to size, and normalize
frame = helperModClassFrameGenerator(rxSamples, spf, spf, transDelay, sps);
% Save data file
fileName = fullfile(dataDirectory,...
sprintf("%s%s%03d",fileNameRoot,modulationTypes(modType),p));
save(fileName,"frame","label")
end
end
else
disp("Data files exist. Skip data generation.")
end
  4 个评论
Matt J
Matt J 2022-2-12
Are you sure that's a good idea? Why not save all frames together in one file? The difficulty you're facing splitting them up will be encountered again when you need to read them back in.

请先登录,再进行评论。

回答(1 个)

Matt J
Matt J 2022-2-12
编辑:Matt J 2022-2-12
My algo takes each frame seperatly thats why
That does not disqualify keeping them all in a common .mat file. You can use matfile() to read individual sub-chunks of an array from a .mat file.

类别

Help CenterFile Exchange 中查找有关 Image Data Workflows 的更多信息

产品


版本

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by