Давайте разберем то, что вы спрашиваете:
матрица с 3-й строкой
val(3, ?, ?)
и первые два столбца
val(3, 1:2, ?) % or [1,2]
Что касается индекса 3 rd , вы хотите сделать это для всех "кусочков", поэтому вы должны использовать :
, что означает "все" в этом контексте:
val(3, 1:2, :)
Как объяснил obchardon , это приводит к массиву 1×2×3
, тогда как вы хотели 3×2(×1)
- поэтому нам нужно изменить порядок измерений:
out = permute( val(3, 1:2, :), [3,2,1] );