Вопрос:

Matlab структура векторов в вектор преобразования структуры

arrays matlab vector matlab-struct

55 просмотра

1 ответ

144 Репутация автора

Как быстро преобразовать массивы x (1: N), y (1: N) в структуру S (1: N) с полями .x и .y без цикла for? Я могу легко преобразовать x, y в структуру массивов:

S.x = x; S.y = y;

Так как мне нужно работать с отдельными наборами (xi, yi), как я могу преобразовать это в массив struct? Я нашел решение сделать это через табличный тип, но мне не нравится это решение:

S = table2struct(struct2table(S))
Автор: Sairus Источник Размещён: 12.04.2017 09:05

Ответы (1)


0 плюса

55498 Репутация автора

Решение

Вы должны просто использовать structсразу после первого преобразования xи yдля массивов ячеек. Когда переданные значения structявляются массивами ячеек, это приводит к многоэлементам structс такими же размерами, что и у этого массива ячеек.

S = struct('x', num2cell(x), 'y', num2cell(y));
Автор: Suever Размещён: 12.04.2017 01:02
Вопросы из категории :
32x32