Re: How to make a loop for this problem!
- To: mathgroup at smc.vnet.net
- Subject: [mg75380] Re: [mg75355] How to make a loop for this problem!
- From: Bob Hanlon <hanlonr at cox.net>
- Date: Fri, 27 Apr 2007 05:26:35 -0400 (EDT)
- Reply-to: hanlonr at cox.net
uniqueArrays[n_Integer?Positive] := Module[{data = {}, t, adt}, While[Length[data] < n, t = Table[Random[Integer], {3}, {3}]; adt = Append[data, t]; If[Length[Union[adt]] != Length[data], data = adt]]; data]; data=uniqueArrays[512]; Each element of data is a 3x3 array data[[38]] {{0, 0, 1}, {1, 0, 0}, {0, 1, 0}} And@@(Dimensions[#] == {3,3}& /@ data) True There are 512 arrays Length[data]==512 True There are no duplicates Length[Union[data]]==Length[data] True Bob Hanlon ---- pskmaths at googlemail.com wrote: > Hi all, > > This comand: > A = Array[Random[Integer] &, {3, 3}] > generates a 3x3 random matrix its terms between 0 and 1. > > I need to make a loop that geerates a finite number of matrices, let's > say 512 and this loop check that non of the matrices is equal to > another one (no repeated matrices) > > I can geerate thoses random, matrices with this command: > Do[Print[Array[Random[Integer] &, {3, 3}]], {512}] > but I may have two matrices that are equal and also as far as I know I > cann't use the out put because of the command, Print. > >