Как создать структуру с полями из массива строк в Matlab? - PullRequest
0 голосов
/ 14 декабря 2018

У меня есть следующий код, я пытаюсь создать структуру с именами полей из целого массива строки.

data1 имеет следующие данные, это 5x4:

1   5    298      53
2   9    284      35
3   0    582      329
4   17   892      67
45  183  45       29

data1 = xlsread('data1.xlsx');
namesoftags = {'timeaxis','cputime','flux','volts'};
for i =1:4
    S = cell2struct(data1(:,i),namesoftags(i));
end

Но выдает эту ошибку:

Error using cell2struct
Unknown command option.

Error in structuredemo (line 4)
    S = cell2struct(data1(:,i),namesoftags(i));

Спасибо.

1 Ответ

0 голосов
/ 14 декабря 2018

Вы предоставляете матрицу data1(:,i), а не ячейку для функции cell2struct.Однако вам не нужна эта функция для достижения цели.Вместо этого используйте S.(fieldname), чтобы построить свою структуру.

data1 = xlsread('data1.xlsx');
namesoftags = {'timeaxis','cputime','flux','volts'};
for i =1:4
    S.(namesoftags{i}) = data1(:,i);
end

S = 

  struct with fields:

    timeaxis: [5×1 double]
     cputime: [5×1 double]
        flux: [5×1 double]
       volts: [5×1 double]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...