Open In App

numpy matrix operations | randn() function

Last Updated : 21 Feb, 2019
Improve
Improve
Like Article
Like
Save
Share
Report
numpy.matlib.randn() is another function for doing matrix operations in numpy. It returns a matrix of random values from a univariate “normal” (Gaussian) distribution of mean 0 and variance 1.
Syntax : numpy.matlib.randn(*args) Parameters : *args : [Arguments] Shape of the output matrix. If given as N integers, each integer specifies the size of one dimension. If given as a tuple, this tuple gives the complete shape.If there are more than one argument and the first argument is a tuple then other arguments are ignored. Return : The matrix of random values drawn from the standard normal distribution.
Code #1 :
# Python program explaining
# numpy.matlib.randn() function
  
# importing matrix library from numpy
import numpy as geek
import numpy.matlib
  
# desired 3 x 4 random output matrix 
out_mat = geek.matlib.randn((3, 4)) 
print ("Output matrix : ", out_mat) 

                    
Output :
Output matrix :  [[ 0.78620217  0.41624612 -0.28417131  0.1071018 ]
 [ 0.77645105  0.30858858 -1.98901344  1.25977209]
 [ 0.26279443 -0.41026178 -0.60834494  2.82552737]]
  Code #2 :
# Python program explaining
# numpy.matlib.randn() function
  
# importing numpy and matrix library
import numpy as geek
import numpy.matlib
  
# desired 1 x 5 random output matrix 
out_mat = geek.matlib.randn(5
print ("Output matrix : ", out_mat) 

                    
Output :
Output matrix :  [[ 0.34973625  0.28159132  0.72581405 -1.17511692  1.96773952]]
  Code #3 :
# Python program explaining
# numpy.matlib.randn() function
  
# importing numpy and matrix library
import numpy as geek
import numpy.matlib
  
# more than one argument given
out_mat = geek.matlib.randn((5, 3), 4
print ("Output matrix : ", out_mat) 

                    
Output :
Output matrix :  [[ 0.56784957  0.82980325  1.16683558]
 [-1.53444326 -0.27743273  0.65819067]
 [ 0.99654573 -1.20399432 -0.25603147]
 [ 1.74931585  0.58413453  1.67820029]
 [-1.25643231  0.21610229  0.21694595]]
  Note: For random samples from N(\mu, \sigma^2) we can use sigma * geek.matlib.randn(...) + mu . For example, making a 3 x 3 matrix in which samples are taken from N(3, 4): Code #4 :
# Python program explaining
# numpy.matlib.randn() function
  
# importing numpy and matrix library
import numpy as geek
import numpy.matlib
  
# So, here mu = 3, sigma = 2
out_mat = 2 * geek.matlib.randn((3, 3)) + 3
print ("Output matrix : ", out_mat) 

                    
Output :
Output matrix :  [[ 4.04967121  0.26982021  2.3503067 ]
 [ 5.57757131  2.40051874 -0.84588539]
 [ 7.43715651  3.84004412  1.40514615]]


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads