[Numpy-discussion] Numpy newbie question: matrix creation
Robert Kern
robert.kern at gmail.com
Wed Sep 25 08:10:16 EDT 2013
On Wed, Sep 25, 2013 at 8:06 AM, Edmondo Porcu <edmondo.porcu at gmail.com>
wrote:
>
> Dear all,
>
> I am a Newbie with Numpy and I would need some advice on how to create a
matrix with certain characteristics :
>
> - Every entry should be minimum 0 maximum 1 with a step of 0.1 (legal
values are 0,0.1,0.2,0.3 etc)
>
> - The number of columns of the matrix is a parameter of this matrix
creation algorithm
>
> - Only the rows where the sum is 1 must be kept
>
> Would great appreciate your advice and suggestions
Use a multinomial distribution with n=10, then divide by 10.0.
For example, with 5 columns and 20 samples:
[~]
|4> np.random.multinomial(10, np.ones(5)/5.0, size=20) / 10.0
array([[ 0.1, 0.1, 0.4, 0.1, 0.3],
[ 0.2, 0.4, 0.1, 0.3, 0. ],
[ 0.3, 0.2, 0. , 0.2, 0.3],
[ 0. , 0.4, 0.4, 0. , 0.2],
[ 0.2, 0.3, 0.1, 0.2, 0.2],
[ 0.1, 0.5, 0.1, 0.1, 0.2],
[ 0.4, 0. , 0.2, 0.3, 0.1],
[ 0.3, 0.3, 0.1, 0. , 0.3],
[ 0. , 0.2, 0.5, 0.2, 0.1],
[ 0.5, 0.1, 0. , 0.2, 0.2],
[ 0.1, 0.3, 0.2, 0.2, 0.2],
[ 0.3, 0.1, 0.2, 0.2, 0.2],
[ 0.2, 0.3, 0. , 0.3, 0.2],
[ 0.2, 0.3, 0.2, 0.3, 0. ],
[ 0.1, 0.3, 0.2, 0. , 0.4],
[ 0.1, 0.1, 0.2, 0.5, 0.1],
[ 0.1, 0.6, 0. , 0. , 0.3],
[ 0.1, 0.2, 0.4, 0.1, 0.2],
[ 0.3, 0.1, 0.2, 0.2, 0.2],
[ 0.2, 0.1, 0.4, 0.2, 0.1]])
--
Robert Kern
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20130925/0d99d1ed/attachment.html>
More information about the NumPy-Discussion
mailing list