How to take text files and turn the data into variables?
Show older comments
When I try to use the automated function produced by the Import Tool it never works. I'm not quite sure what I'm doing wrong but it must be something. For example I am trying to take data in a text file ( organized in order across the top Time Angle Velocity Acceleration) and turn them into variables to be used in Matlab. I'm new to trying this and so any simple explanation could go a long way. Thank You
Accepted Answer
More Answers (3)
Thorsten
on 29 Oct 2015
0 votes
The data file just contains comma separated values, you can use dlmread. For more complicated data, textscan is fine, as Star Strider recommends. For more specific advice, it please attach the data file.
6 Comments
Vincent Craven
on 29 Oct 2015
Thorsten
on 29 Oct 2015
data = textscan(fopen('LRNR1.txt'), '%f%f%f%f', 'headerlines', 7);
data = cell2mat(data);
Vincent Craven
on 29 Oct 2015
Vincent Craven
on 29 Oct 2015
Do read into four separate variables:
[Time, Angle, Velocity, Accleration] = textread('LRNR1.txt', '%f%f%f%f', 'headerlines', 7);
You can loop over all your files, if they always have 4 columns and 7 headerlines, i.e., are of the same format. Use
d = dir('LNRN*.txt');
for i = 1:numel(d)
[Time(:,i), Angle(:,i), Velocity(:,i), Accleration(:,i)] = textread(d(i).name, '%f%f%f%f', 'headerlines', 7);
end
This works if all the files have the same number of data points. Else use
[Time{i}, Angle{i}, Velocity{i}, Accleration{i}] = ...
Vincent Craven
on 29 Oct 2015
timo
on 29 Oct 2015
0 votes
Might i suggest to use python CSV module from inside matlab ? Its stupidly powerfull
1 Comment
Vincent Craven
on 29 Oct 2015
Categories
Find more on Text Data Preparation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!