Re: Constructing vector using table
- To: mathgroup at smc.vnet.net
- Subject: [mg90966] Re: Constructing vector using table
- From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
- Date: Fri, 1 Aug 2008 02:59:12 -0400 (EDT)
- Organization: The Open University, Milton Keynes, UK
- References: <g6t0i8$3dq$1@smc.vnet.net>
Prateek K Jha wrote:
> I am trying to create a vector using "Table" in which I enter a
> function that depends on other functions. An excerpt from the code is:
>
> u2[i_] := 1 + Log[\[CapitalPhi][[i]]];
> un[i_] :=
> Switch[IntegerPart[i/(m + 1)], 0, u1n[i], 1, u2[i], 2, u2[i]];
>
> U = Table[un[i], {i, 1, 3*m}] // MatrixForm;
> Dimensions[U]
>
> Output:
> {1}
>
> Everything runs fine and even the vector is generated when I see the
> form of U. But, I am not able to do any operations on this matrix
> (like inverse, transpose etc). Even the Dimensions[U] give me 1 while
> it should be 60.
>
> Please help me through if you can. If I am not clear or you need more
> info, please let me know
MatrixForm[] is a wrapper from printing purpose only. The expression
U = Table[un[i], {i, 1, 3*m}] // MatrixForm;
is equivalent to
U = MatrixForm[Table[un[i], {i, 1, 3*m}]];
What you want is either,
U = Table[un[i], {i, 1, 3*m}];
MatrixForm[U]
or
MatrixForm[U = Table[un[i], {i, 1, 3*m}];]
Regards,
-- Jean-Marc