MATLAB Answers

Cicle for read data.

3 views (last 30 days)
Hi. I'm trying to read a group of .dat files using the next code and I'm getting the error "Array indices must be positive integers or logical values."
%% Set up the Import Options and import the data
opts = delimitedTextImportOptions("NumVariables", 3);
% Specify range and delimiter
opts.DataLines = [18, 1138];
opts.Delimiter = "\t";
% Specify column names and types
opts.VariableNames = ["LagTime", "g^-2","vacio"];
opts.SelectedVariableNames = ["LagTime", "g^-2"];
opts.VariableTypes = ["double", "double", "string"];
% Specify file level properties
opts.ExtraColumnsRule = "ignore";
opts.EmptyLineRule = "read";
% Specify variable properties
opts = setvaropts(opts, "vacio", "WhitespaceRule", "preserve");
opts = setvaropts(opts, "vacio", "EmptyFieldRule", "auto");
% Import the data
for k=0:95
T= sprintf("M3%d.dat",k);
M3{k}= readtable(T, opts);
end

Accepted Answer

David Hill
David Hill on 1 Jul 2021
for k=0:95
T= sprintf("M3%d.dat",k);
M3{k+1}= readtable(T, opts);%must start indexing at 1
end

More Answers (0)

Tags

Products

Community Treasure Hunt

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

Start Hunting!