MATLAB Answers

How to read in a .txt and arrange the data into a scheme?

조회 수: 3(최근 30일)
Landor Viktor
Landor Viktor 2021년 7월 13일
답변: Mathieu NOE 2021년 7월 13일
Hi, I have some problem with reading in a txt file, I have to read in a txt file with about 7000 records, 1 headerline. After reading with textscan how can I arrange the datas into arrays or sg like that to do some postprocess and ploting with them?
fid = fopen(filename,'r');
cdata = textscan(fid,'%f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f','Delimiter','\t','headerLines',1);
Thanks

답변(2개)

Simon Chan
Simon Chan 2021년 7월 13일
I try to use readcell as follows:
rawdata=readcell('test1.txt');
header = rawdata(1,:);
data = cell2mat(rawdata(2:end,:));
tiledlayout(5,6);
for k = 1:27
nexttile
plot(data(:,1),data(:,k+1));
ylabel(header{k+1});
xlabel(header{1});
end
  댓글 수: 2
Simon Chan
Simon Chan 2021년 7월 13일
I am not sure which gyro you want, but you can modify the code yourself to suit your purpose:
figure
plot(data(:,1),data(:,11),'r',data(:,1),data(:,12),'b',data(:,1),data(:,13),'g')
legend(header{11:13})
xlabel(header{1});

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


Mathieu NOE
Mathieu NOE 2021년 7월 13일
hello
this is the best solution (IMO) : it will generate a table with identified variables names you can easily access :
T= readtable('test1.txt');
% if we want to plot data (example)
time = T.SampleTime_s_;
Gyro_1_X_dps_ = T.Gyro_1_X_dps_;
plot(time,Gyro_1_X_dps_); % and so forth...

제품


릴리스

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by