MathGroup Archive 2006

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Trouble with tables

  • To: mathgroup at smc.vnet.net
  • Subject: [mg64841] Re: Trouble with tables
  • From: Peter Pein <petsie at dordos.net>
  • Date: Sun, 5 Mar 2006 03:19:01 -0500 (EST)
  • References: <dubjlr$gua$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Luiz Melo schrieb:
> Hi there,
> I'm having a little trouble with the function "Table". Using:
> 
> t1 = Table[{x[1, 1], x[1, 2], y}, {x[1, 1], 1, 3}, {x[1, 2], 1, 3}]
> 
> the variables x[1,1] and x[1,2] assume the values 1, 2 and 3, that's fine.
> Now I want to automatically generate the argument of the function Table above
> and then evaluate it. I tried the following program:
> 
> ni = 1; nj = 2;
> a = Flatten[Table[x[i, j], {i, 1, ni}, {j, 1, nj}]]; d = Dimensions[a][[1]];
> b = {}; Do[b = Append[b, {a[[i]], 1, 3}], {i, 1, d}];
> t2 = Table[Join[{Append[a, y]}, b]];
> 
> and I got a result (t2) which is different from t1. Why?
> 
> Thanks,
> Luiz
> 
> 
> 
Hello Luiz,

Join[{Append[a, y]}, b] gives you {{x[1,1],x[1,2],y},{x[1,1],1,3},{x[1,2],1,3}}.
You've got the parameters to the call of Table[] as a list. You have to apply the function Table to that list and must not take the list as only parameter.

t2 = Table @@ Join[{Append[a, y]}, b]
gives the desired result:
--> {{{1,1,y},{1,2,y},{1,3,y}},{{2,1,y},{2,2,y},{2,3,y}},{{3,1,y},{3,2,y},{3,3, y}}}

Peter

b.t.w. Why do you use Dimensions[a][[1]] instead of Length[a]?
and why don't you use the simple Array[{#1, #2, y} &, {3, 3}] ?


  • Prev by Date: Re: Multiple application of LinearFilter
  • Next by Date: Re: Multiple application of LinearFilter
  • Previous by thread: Re: Trouble with tables
  • Next by thread: Re: Trouble with tables