Как спроектировать структуру для разных размеров массивов, используя строки? - PullRequest
1 голос
/ 28 марта 2020

У меня есть разные размеры массивов, такие как [6:8], [11:21], [14:15] и др. c. Мне нужно назначить эти значения для набора переменных, который должен содержать строки, указанные в другом массиве. Позвольте мне привести пример:

variables = ["a", "b", "c"];

% I need to design a structure just like below but inside a for loop. 
% Because I've lots of variables and arrays.
xx.a = [6:8];
xx.b = [11:21];
xx.c = [14:15];

Есть ли предложение по решению?

1 Ответ

1 голос
/ 28 марта 2020

Я не знаю, как организованы ваши данные, но вы можете использовать строки массива variables для динамического индексирования полей структуры:

variables = ["a", "b", "c"];
data{1} = [6:8];
data{2} = [11:21];
data{3} = [14:15];

% Use string indexing of structs within loop
for ii = 1:numel(variables)
    xx.(variables(ii)) = data{ii};
end

xx = 

  struct with fields:

    a: [6 7 8]
    b: [11 12 13 14 15 16 17 18 19 20 21]
    c: [14 15]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...