Разделить и объединить между массивами клеток в ячейке - PullRequest
0 голосов
/ 25 марта 2020

У меня есть ячейка 3x1, которая содержит 3 трехмерные матрицы в виде долготы х широты х времени. Я хочу знать, как я могу вырезать первый шаг по времени (:,:, 1) из каждой ячейки (кроме первой) и вставить его в предыдущую строку?

Screenshot

итак, у меня должно получиться что-то вроде этого:

81x69x8761 double
81x69x8760 double
81x69x8759 double

1 Ответ

0 голосов
/ 25 марта 2020

Вы можете сделать это с помощью простого for l oop

% Create some dummy 3D data
c = repmat( {rand(5,3,20)}, 3, 1 );
% Loop over the cell array from element 2
for r = 2:numel(c)
    % Copy the last slice from the current array into the previous one
    c{r-1} = cat( 3, c{r-1}, c{r}(:,:,end) );
    % Remove the last slice from the current array
    c{r}(:,:,end) = [];
end

Результат:

output

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...