Filter löschen
Filter löschen

Index exceeds the number of array elements

1 Ansicht (letzte 30 Tage)
Niels de Vries
Niels de Vries am 28 Mär. 2020
Kommentiert: Ameer Hamza am 28 Mär. 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!

Akzeptierte Antwort

Ameer Hamza
Ameer Hamza am 28 Mär. 2020
Bearbeitet: Ameer Hamza am 28 Mär. 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 Kommentare
Niels de Vries
Niels de Vries am 28 Mär. 2020
Thanks, works perfectly!
Ameer Hamza
Ameer Hamza am 28 Mär. 2020
Glad to be of help.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Produkte


Version

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by