Импортировать данные из Excel, используя структуру в Matlab? - PullRequest
0 голосов
/ 14 июня 2011

Я хочу импортировать таблицу Excel в Matlab. Вот что я хочу конкретно: я хотел бы создать структуру с 26 полями, полями для каждого из заголовков столбцов, а затем данные для поля будут соответствующими данными в соответствующем столбце. Я знаю диапазоны для данных.

spect importdata('filename.xlsx') returns this
spect =   
      data: [256x26 struct]
  textdata: [1x26 struct]
colheaders: [1x26 struct] 

Я хочу иметь возможность разделить часть данных на 26 различных структурных полей 256x1. Например. Кто-нибудь может мне помочь с этим?

row: [256x1 struct]
col: [256x1 struct]
...
Cho: [256x1 struct]
textdata: [1x26 struct]
colheaders: [1x26 struct]  

1 Ответ

1 голос
/ 15 июня 2011

Если я правильно понимаю, вы просто хотите разбить столбцы массива структур spect.data на отдельные массивы?

Вот как это можно сделать

%# define new field names
newFields = {'row','col','Cho'}; %# and all the rest

%# loop through new fields to assign columns of spect.data
for i=1:length(newFields)
   spect.(newFields{i}) = spect.data(:,i);
end

%# remove .data from spect
spect = rmfield(spect,'data');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...