Преобразование строк в столбцы в массиве ячеек в MATLAB - PullRequest
0 голосов
/ 19 июня 2020

У меня есть массив ячеек 99x1, и я хотел бы преобразовать его, например, в массив ячеек 33x3.

Я бы хотел, чтобы первые 3 строки массива ячеек 99x1 составляли первую строку в Массив ячеек 33x3, а затем с 3-й по 6-ю строки в массиве ячеек 99x1, чтобы составить вторую строку в массиве ячеек 33x3.

Мне также нужны данные при изменении формы на go по столбцу за столбцом, прежде чем они упадут. Например, мне нужно:

1 2 3 4

, чтобы стать

1, 2; 3, 4

не

1, 3; 2, 4

Помощь с этим будет очень признательна

1 Ответ

3 голосов
/ 19 июня 2020

Вы можете просто использовать функцию reshape. Поскольку reshape(yourcell,[],3) сначала заполняет первый столбец, а затем второй и так далее, а не по строкам, вам нужно будет объединить его с оператором транспонирования .':

newcell=reshape(yourcell,3,[]).'

Таким образом, вы сначала создаст ячейку 3x33, используя reshape, а затем преобразует ее в желаемую ячейку 33x3. [] сообщает reshape создать столько столбцов, сколько необходимо.

...