Re: Normalize a collection of arrays on a specific column
- To: mathgroup at smc.vnet.net
- Subject: [mg85930] Re: [mg85897] Normalize a collection of arrays on a specific column
- From: Carl Woll <carlw at wolfram.com>
- Date: Thu, 28 Feb 2008 02:45:25 -0500 (EST)
- References: <200802270924.EAA16008@smc.vnet.net>
Curtis Osterhoudt wrote:
>(Note: this is a re-send of a message. I haven't seen the message show up in
>the list (or its archives), so I'm assuming it's lost in the aether. I
>apologize if this shows up twice.)
>
>
>Hi, all,
>
> I'm looking for a relatively efficient (read: not doing so
>element-by-element) way of taking a collection of several matrices, all of
>the same m x n dimensions (say), and normalizing all of them in
>whatever column I choose. If possible, it would be nice to extend this
>to any number of dimensions, but that's not necessary now.
>
> For example, I'm looking for a function, "normalizeColumn[listOfLists_,
>p_]" which would normalize the pth column of all of the lists, not
>individually, but over the whole set, returning the whole set with just
>the pth column changed in each of its constituent lists.
>
> Let dat1 = {{1,3,4}, {2,2,-5}, {1,1,1}} and dat2 = {{0, 3, 6},
>{2,1,4}, {5, 3, -5}}. Then if dat3 = {dat1, dat2}, the normalizeColumn
>function should return
>
> normalizeColumn[dat3, 2] = {{{1, 1, 4}, {2, 1/2, -5}, {1, 0, 1}},
>{{0, 1, 6}, {2, 0, 4}, {5, 1, -5}}}.
>
> I'm quite certain there's an easy way to do it; I should be able to do
>something analogous on several hundred, 200 x 200 matrices at the same
>time.
>
> Best wishes, and thanks,
> Curtis O.
>
>
>
>
Something like:
normalizeColumn[data_, p_] := Module[{tmp = data}, tmp[[All, All, 2]] =
(tmp[[All, All, 2]] - 1)/2; tmp]
perrhaps?
In[149]:= normalizeColumn[{dat1, dat2}, 2]
Out[149]= {{{1, 1, 4}, {2, 1/2, -5}, {1, 0, 1}}, {{0, 1, 6}, {2, 0, 4},
{5, 1, -5}}}
Carl Woll
Wolfram Research
- References:
- Normalize a collection of arrays on a specific column
- From: Curtis Osterhoudt <cfo@lanl.gov>
- Normalize a collection of arrays on a specific column