       Re: take square of the second and third column of a table

• To: mathgroup at smc.vnet.net
• Subject: [mg124193] Re: take square of the second and third column of a table
• From: "Oleksandr Rasputinov" <oleksandr_rasputinov at hmamail.com>
• Date: Thu, 12 Jan 2012 04:20:43 -0500 (EST)
• Delivered-to: l-mathgroup@mail-archive0.wolfram.com
• References: <jel20o\$lkl\$1@smc.vnet.net>

On Wed, 11 Jan 2012 22:21:12 -0000, hanciong awesome <hanciong at gmail.com>
wrote:

> Hello, suppose I have a very long table like this:
>
> 1 2 3
> 4 5 6
> 7 8 9
> .......
> 2 3 4
>
> how can I take square of the 2nd and 3rd column? I always do it by
> making a new table. so let's say the above table is A and it has 100
> lines, then I make the new table as the following:
>
> B=Table[{A[[n]][],A[[n]][]^2,A[[n]][]^2},{n,1,100}]
>
> But if the length of the table is unknown, this way is impractical.
> Could anyone suggests better way? thank you
>

You could try

In :=
table = Partition[Range, 3];

In :=
MapThread[{#1, #2^2, #3^2} &, Transpose[table]] // TableForm

Out//TableForm =
1	4	9
4	25	36
7	64	81
10	121	144
13	196	225
16	289	324

or perhaps

In :=
Transpose@MapAt[#^2 &, Transpose[table], {{2}, {3}}] // TableForm

Out//TableForm =
1	4	9
4	25	36
7	64	81
10	121	144
13	196	225
16	289	324

or even

In :=
Block[{table = table},
table[[All, {2, 3}]] = table[[All, {2, 3}]]^2;
table
] // TableForm

Out//TableForm =
1	4	9
4	25	36
7	64	81
10	121	144
13	196	225
16	289	324

• Prev by Date: Re: take square of the second and third column of a table
• Next by Date: Re: take square of the second and third column of a table
• Previous by thread: Re: take square of the second and third column of a table
• Next by thread: Re: take square of the second and third column of a table