Обратное Флаттен в Mathematica? - PullRequest
5 голосов
/ 28 сентября 2010

Каково обратное к f [x _]: = Flatten [x], где x - массив с уменьшенными размерами?

Ответы [ 2 ]

16 голосов
/ 28 сентября 2010

Нет встроенной функции, но это довольно легко с комбинацией Fold и Partition:

In[47]:= x1 = RandomReal[{0, 1}, {3, 4, 5}];

In[48]:= dims = Dimensions[x1]

Out[48]= {3, 4, 5}

In[49]:= x2 = Fold[Partition, Flatten[x1], Most[Reverse[dims]]];

In[50]:= x1 == x2

Out[50]= True
2 голосов
/ 28 сентября 2010

Вы, вероятно, хотите Partition[] или одного из его родственников.

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