Function rand is used to generate uniformly-distributed random values
whereas function randn is for Gaussian-distributed random values.
I think this term [rand(1,N)+j randn(1,N)]) is complex Gaussian random value
So the variance (you may think it as power) of its is equal to 2
In matlab, you can easily check variance of variable X
X = randn(1,N)
by typing
var(X)
If N is large, var(X) is aprrox. 1
and then you can further check the var(X+Y) = 2
where X = randn(1,N) and Y = randn(1,N)
To normalize energy of [rand(1,N)+j randn(1,N)]) to 1, we simply multiply with 1/sqrt(2)
Hope this helps