Учитывая вектор v = [1 2 3 4 5 6], как мне превратить его в:
v = [1 2 3 4 5 6]
v = v(:,:,1) = 1 v(:,:,2) = 2 v(:,:,3) = 3 v(:,:,4) = 4 v(:,:,5) = 5 v(:,:,6) = 6
, т. Е. Транспонировать между вторым (строка) и третьим измерением?
Ответ - использовать команду permute :
permute([1 2 3 4 5 6], [3 1 2])
Он принимает несуществующие измерения: второй аргумент задает замену первого существующего измерения на третье существующее измерение (нет), что создает в результате первое единственное измерение в результате.
Вы также можете изменить форму:
reshape([1 2 3 4 5],1,1,[])
РЕДАКТИРОВАТЬ (в ответ на комментарий): фактически, это делает:
>> reshape([1 2 3 4 5],1,1,[]) ans(:,:,1) = 1 ans(:,:,2) = 2 ans(:,:,3) = 3 ans(:,:,4) = 4 ans(:,:,5) = 5