How can I import this data with a for loop?

Data3 = importdata('PendulumTestData/TD3/IK/HR_1.mot')
Data5 = importdata('PendulumTestData/TD5/IK/HR_1.mot')
Data7 = importdata('PendulumTestData/TD7/IK/HR_1.mot')
Data9 = importdata('PendulumTestData/TD9/IK/HR_1.mot')
Data11 = importdata('PendulumTestData/TD11/IK/HR_1.mot')
Data12 = importdata('PendulumTestData/TD12/IK/HR_1.mot')
Data14 = importdata('PendulumTestData/TD14/IK/HR_1.mot')
Data15 = importdata('PendulumTestData/TD15/IK/HR_1.mot')
Data16 = importdata('PendulumTestData/TD16/IK/HR_1.mot')
Data17 = importdata('PendulumTestData/TD17/IK/HR_1.mot')
x = [3 5 7 9 11 12 14 15 16 17];
for i = 1:10
Data{i} = importdata(sprintf('PendulumTestData/TD%.1f/IK/HR_1.mot', x(i)));
end
I tried something, but it doesn't work...

답변 (2개)

Matt J
Matt J 2023년 12월 5일

2 개 추천

Data{i} = importdata(compose("PendulumTestData/TD%d/IK/HR_1.mot", x(i)));
Les Beckham
Les Beckham 2023년 12월 5일
You were very close.
x = [3 5 7 9 11 12 14 15 16 17];
for i = 1:numel(x)
fn = sprintf('PendulumTestData/TD%d/IK/HR_1.mot', x(i))
% ^ use %d here
% Data{i} = importdata(fn); % commented out so it will run here
end
fn = 'PendulumTestData/TD3/IK/HR_1.mot'
fn = 'PendulumTestData/TD5/IK/HR_1.mot'
fn = 'PendulumTestData/TD7/IK/HR_1.mot'
fn = 'PendulumTestData/TD9/IK/HR_1.mot'
fn = 'PendulumTestData/TD11/IK/HR_1.mot'
fn = 'PendulumTestData/TD12/IK/HR_1.mot'
fn = 'PendulumTestData/TD14/IK/HR_1.mot'
fn = 'PendulumTestData/TD15/IK/HR_1.mot'
fn = 'PendulumTestData/TD16/IK/HR_1.mot'
fn = 'PendulumTestData/TD17/IK/HR_1.mot'

댓글 수: 2

Lucas
Lucas 2023년 12월 5일
Thank you!!
Matt J
Matt J 2023년 12월 5일
@Lucas If your problem is solved, please accept-click the most appropriate answer.

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

질문:

2023년 12월 5일

댓글:

2023년 12월 5일

Community Treasure Hunt

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

Start Hunting!

Translated by