Index exceeds the number of array elements

2 ビュー (過去 30 日間)
Niels de Vries
Niels de Vries 2020 年 3 月 28 日
コメント済み: Ameer Hamza 2020 年 3 月 28 日
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!

採用された回答

Ameer Hamza
Ameer Hamza 2020 年 3 月 28 日
編集済み: Ameer Hamza 2020 年 3 月 28 日
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 件のコメント
Niels de Vries
Niels de Vries 2020 年 3 月 28 日
Thanks, works perfectly!
Ameer Hamza
Ameer Hamza 2020 年 3 月 28 日
Glad to be of help.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMatrix Indexing についてさらに検索

製品


リリース

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by