2
Рассмотрим многомерную матрицу A
, где size(A)
имеет одинаковые четные элементы N
. Как следует найти матрицу B
с size(B)=size(A)/2
таким образом, что:Извлечение блока из многомерной матрицы
B(1,1,...,1)=A(1,1,...,1),
B(1,1,...,2)=A(1,1,...,2),
...
B(N/2,N/2,...,N/2)=A(N/2,N/2,...,N/2).
спасибо. Я предположил, что N равнозначно тому, что упоминалось выше. –
Для решения без циклов используйте 'S = repmat ({1: размер (A, 1)/2}, ndims (A), 1)' – Daniel
Только что реализовано не тысячи измерений. В последних версиях не более 47 (или, может быть, 64 в последних версиях) не одиночных размеров. Все, что за пределами, не может быть проиндексировано и потребует индексов, больших, чем uint64. Оптимизация здесь совершенно не нужна, итерация таких нескольких значений arrayfun полностью прекрасна. – Daniel