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!