Index exceeds the number of array elements

2 visualizaciones (últimos 30 días)
Niels de Vries
Niels de Vries el 28 de Mzo. de 2020
Comentada: Ameer Hamza el 28 de Mzo. de 2020
Hello all,
I know there are several similar questions, but i didn't find a answer for my problem.
I am trying to load data from a .csv file with the simple csvread function.
The csv.file (see attachment) should contain 222.490 values.
Pos_x = csvread('C:\Users\Niels\Google Drive\position.csv',11,1);
However, i am getting the following error: 'Index exceeds the number of array elements (0).'
Creating a matrix of size 300.000x1 in matlab itself is no problem so i am not sure what the problem is, any suggestions?
Thanks in advance!

Respuesta aceptada

Ameer Hamza
Ameer Hamza el 28 de Mzo. de 2020
Editada: Ameer Hamza el 28 de Mzo. de 2020
Just giving the extension of .csv to a file does not automatically make it a csv file. Your file contains several alphabetic characters before the numeric values start. The following code will read the data as a text file and parse it to extract numeric values
f = fopen('position.csv');
data = textscan(f, '%s', 'HeaderLines', 11);
fclose(f);
str = [data{1}{:}];
idx = strfind(str, ':'); % finding the location of the last colon
values = sscanf(str(idx(end)+1:end), ',%f');
  2 comentarios
Niels de Vries
Niels de Vries el 28 de Mzo. de 2020
Thanks, works perfectly!
Ameer Hamza
Ameer Hamza el 28 de Mzo. de 2020
Glad to be of help.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

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

Productos


Versión

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by