Re: Partitioning 1-D list into 2-D Matrix
- To: mathgroup at smc.vnet.net
- Subject: [mg29774] Re: Partitioning 1-D list into 2-D Matrix
- From: "Allan Hayes" <hay at haystack.demon.co.uk>
- Date: Sun, 8 Jul 2001 01:00:18 -0400 (EDT)
- References: <9i6ao4$ol6$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Chris:
Flatten[Transpose[Partition[#,5]&/@Transpose[Partition[b,2]]],1]
{{1,3,5,7,9},{2,4,6,8,10},{11,13,15,17,19},{12,14,16,18,20}}
--
Allan
---------------------
Allan Hayes
Mathematica Training and Consulting
Leicester UK
www.haystack.demon.co.uk
hay at haystack.demon.co.uk
Voice: +44 (0)116 271 4198
Fax: +44 (0)870 164 0565
"Krautschik, Chris G" <krautschikc at intel.co.jp> wrote in message
news:9i6ao4$ol6$1 at smc.vnet.net...
> I have a question of how to best select elements from a list and reformat
> the list into a 2D matrix. Here is an example:
>
> b=Range[1,20]
> {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20}
>
> I would like to arrange the list into a 2D array of the following form:
> {{1, 3, 5, 7, 9}, {2, 4, 6, 8, 10}, {11, 13, 15, 17, 19}, {12, 14, 16, 18,
> 20}}
>
> Then
> bb=Partition[Partition[b,2],5]
> <<...OLE_Obj...>>
> almost does what I want if you view this array in MatrixForm[]. However, I
> would have to somehow get rid of the innner brackets. I am not sure how to
> do that with Flatten[].
>
> I could use brute force and select the elements as follows:
> <<...OLE_Obj...>>
> <<...OLE_Obj...>>
>
> I have a feeling there is a much better way to do this.
>
> Thanks in advance,
> Chris
>
>