Loop for increment number in file name
34 次查看(过去 30 天)
显示 更早的评论
I need to save 10 files "AccelGyro_Gait" with the suffix from 01 to 10, i.e., AccelGyro_Gait_01, AccelGyro_Gait_02...
This is my starting code. But I'm not able to finish it efficiently. Only the last trial
for i = 1:10
run rawP5reader; % Load files
gyro = (ans(2).data);
accel = (ans(1).data(1:length(gyro),:));
timeStamps = (ans(2).timestamps);
zerosMat = zeros(length(timeStamps),7);
zerosMat(:,1) = (timeStamps);
zerosMat(:,2:4) = accel;
zerosMat(:,5:7) = gyro;
AccelGyro_Gait = zerosMat;
% .... Save the file name by adding numbers at the end.
end
0 个评论
采纳的回答
Image Analyst
2022-11-12
Try this:
outputFolder = pwd; % Or 'C:\whatever'
for i = 1:10
run rawP5reader; % Load files
gyro = (ans(2).data);
accel = (ans(1).data(1:length(gyro),:));
timeStamps = (ans(2).timestamps);
zerosMat = zeros(length(timeStamps),7);
zerosMat(:,1) = (timeStamps);
zerosMat(:,2:4) = accel;
zerosMat(:,5:7) = gyro;
AccelGyro_Gait = zerosMat;
% Save the file name by adding numbers at the end.
baseFileName = sprintf('AccelGyro_Gait_%2.2d.mat', i);
fullFileName = fullfile(outputFolder, baseFileName);
fprintf('Saving "%s".\n', fullFileName);
save(fullFileName, 'AccelGyro_Gait');
end
更多回答(1 个)
Voss
2022-11-12
Here's one way to generate those file names:
for i = 1:10
current_file_name = sprintf('AccelGyro_Gait_%02d',i)
% then do something with current_file_name,
% e.g., use it as the file to save something to
end
2 个评论
Voss
2022-11-15
You're welcome! Any questions, let me know. Otherwise, please "Accept This Answer". Thanks!
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!