While trying to write in a.txt or .csv file, I am receiving the message "Index exceeds the number of array elements (0)"

1 visualización (últimos 30 días)
I am trying to wite my output into a .csv file and a .txt file after scaning the attached .txt file (imported_PEVT.txt). However, I am getting the following error " Index exceeds the number of array elements (0)". Could anybody please help me in this regard? Thanks.
function main
fid = fopen('imported_PEVT.txt', 'r');
y = [];
m = [];
d = [];
h = [];
mm = [];
v = [];
while feof(fid) == 0
tline = fgetl(fid);
out = sscanf(tline, '%d %d %d %d %d %f');
y1 = out(1);
m1 = out(2);
d1 = out(3);
h1 = out(4);
mm1 = out(5);
v1 = out(6);
y = [y; y1];
m = [m; m1];
d = [d; d1];
h = [h; h1];
mm = [mm; mm1];
v = [v; v1];
end
write_output_file_pevt_notime('pevt_no_t.csv', v);
write_output_file_pevt_wtime('pevt_w_t.txt', y, m, d, h, mm, v);
end
function write_output_file_pevt_notime(fname, v)
fid = fopen(fname, 'w');
fprintf('%f\n',[v]');
fprintf(fid,'%f\n',[v]');
fclose(fid);
end
function write_output_file_pevt_wtime(fname, y, m, d, h, mm, v)
fid = fopen(fname, 'w');
fprintf('%d %d %d %d %d %f\n',[y m d h mm v]');
fprintf(fid,'%d %d %d %d %d %f\n',[y m d h mm v]');
fclose(fid);
end
  2 comentarios
bharath pro
bharath pro el 30 de Jun. de 2020
The above code is working fine for me. May I know which version of matlab you are using?
Preyanka Dey
Preyanka Dey el 30 de Jun. de 2020
Hi @bharath pro, Error was because of the a empty line in my .txt file. @SC pointed out that. Thanks both of you a lot. I am using Mathlab 2019.

Iniciar sesión para comentar.

Respuesta aceptada

SC
SC el 30 de Jun. de 2020
The last line in your text file (line:78889) is an empty line
clear that out & your code works!

Más respuestas (0)

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by