У меня возникла простая проблема при чтении данных Excel, которые содержат строки, длинную строку и числа. Теперь мне нужно сделать каждый столбец (у меня здесь 11), чтобы определить отдельные переменные 1 вектора столбца, чтобы я мог построить график в MATLAB друг против друга или комбинации.

Но проблема заключается в чтении файла и создании вектора из 11 столбцов. Когда присваиваю переменную, приходит и заголовок.

Код:

%fid = fopen('Data_Link.xlsx');
[num,txt,raw] = xlsread('Data_Link.xlsx');
%fclose(fid);

% Extract data from readData
A = raw(:,1);
B = raw(:,2);
C = raw(:,6);

Итак, мне нужны переменные без заголовка

Файл данных усечен и приводится здесь.

Кто-нибудь может мне помочь?

1
aguntuk 17 Сен 2018 в 20:43

2 ответа

Лучший ответ

Вы можете использовать readtable, как предложил ThP. Но если вы хотите использовать xlsread и хотите, чтобы ваши данные были без заголовка, вам просто нужно удалить первую строку, как в приведенном ниже примере:

%fid = fopen('Data_Link.xlsx');
[num,txt,raw] = xlsread('Data_Link.xlsx');
%fclose(fid);

% Extract data from readData
A = raw(2:end,1);
B = raw(2:end,2);
C = raw(2:end,6);

Обратите внимание, что каждый массив будет получать данные от строки 2 до последней строки.

1
Paolo 17 Сен 2018 в 20:20

Вы можете использовать readtable вместо xlsread.
С помощью

T = readtable(‘Data_Link.xlsx’)

Приведет к созданию таблицы с переменной для каждого столбца. Например, T.Year будет содержать значения из столбца «Год», а T.Title будет содержать значения из столбца «Заголовок» и т. Д.

1
ThP 17 Сен 2018 в 17:55