Re: random matrix initialisation...
- To: mathgroup at smc.vnet.net
- Subject: [mg37591] Re: [mg37576] random matrix initialisation...
- From: Andrzej Kozlowski <andrzej at tuins.ac.jp>
- Date: Wed, 6 Nov 2002 06:53:08 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
Here is just one out of many ways of doing this with Mathematica:
In[1]:=
<<DiscreteMath`Combinatorica`
In[2]:=
X[m_,n_]:=Partition[
Join[Array[1&,{n}],Array[0&,m^2-n]][[RandomPermutation[m^2]]],m]
In[3]:=
X[4,3]//MatrixForm
Out[3]//MatrixForm=
0 0 1 0
1 1 0 0
0 0 0 0
0 0 0 0
In[4]:=
X[4,3]//MatrixForm
Out[4]//MatrixForm=
0 1 0 0
0 0 0 0
0 1 0 0
0 0 0 1
On Tuesday, November 5, 2002, at 07:01 PM, Manuel Marques-Pita wrote:
>
> hello,
>
> i have a question regarding matrices. searched on the web and forums
> but maybe due to using wrong keywords i am not finding an answer...
>
> i need a way or function X to initialise matrices in mathematica such
> that each time i call X i get a matrix with a predetermined number of
> elements initialised as "1" and the rest as "0"
>
> examples
>
> X(4,3)
>
> {{0,0,0,0}, {0,0,1,0}, {0,0,0,1}, {1,0,0,0}}
>
> again X(4,3)
>
> {{1,1,0,0}, {0,0,0,0}, {0,0,0,0}, {0,1,0,0}}
>
> etc.. (first argument means that the matrix is 4x4 and second means
> that there should be 3 "1's" present in the matrix
>
> any help, pointers, etc will be appreciated!
>
> thanks a lot
>
> m
>
> --
>
>
>
Andrzej Kozlowski
Yokohama, Japan
http://www.mimuw.edu.pl/~akoz/
http://platon.c.u-tokyo.ac.jp/andrzej/