Транспонировать вектор в третье измерение - PullRequest
1 голос
/ 08 марта 2012

Учитывая вектор 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

, т. Е. Транспонировать между вторым (строка) и третьим измерением?

Ответы [ 2 ]

6 голосов
/ 08 марта 2012

Ответ - использовать команду permute :

permute([1 2 3 4 5 6], [3 1 2])

Он принимает несуществующие измерения: второй аргумент задает замену первого существующего измерения на третье существующее измерение (нет), что создает в результате первое единственное измерение в результате.

3 голосов
/ 08 марта 2012

Вы также можете изменить форму:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...