read data line by line from a .dat file after pressing a certain keyboard key
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hello, i'm new to Matlab and need to create a function which read data line by line from a .dat file after pressing a certain keyboard key and then save them to multiple outputs, the same idea as scanf in C or textread in Matlab ([A,B,C,...] = textread(filename,format))
my data looks like:
- 7 1099 236 260 236 260 0
- 2 1078 236 300 236 300 0
- 3 1829 236 100 236 100 0
- 4 1367 206 500 206 500 0
- 1 1123 246 170 246 170 0
0 Commenti
Risposte (1)
Gareth Thomas
il 21 Ott 2017
4 Commenti
Walter Roberson
il 21 Ott 2017
textlines = regexp( fileread(filename), '\r?\n', 'split');
if isempty(textlines{end}); textlines{end} = []; end %file might or might not have ended in newline
YourResults = cellfun(@(onetextline) YourTextFunction(onetextline), lines, 'Uniform', 0);
Or, better:
num_cols = 7;
fmt = repmat('%f', 1, num_cols);
fid = fopen(filename, 'r');
YourInputCell = textscan(fid, fmt, 'CollectOutput', 1);
fclose(fid);
YourInputNumeric = YourInputCell{1};
YourResults = arrayfun(@(RowIdx) YourNumericFunction( YourInputNumeric(RowIdx,:) ), (1:size(YourInputNumeric,1)).', 'Uniform', 0 );
Vedere anche
Categorie
Scopri di più su Desktop in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!