How to Create a 5x5 Random Matrix with Specific Range Using randn in MATLAB?

Click For Summary
To create a 5x5 random matrix in MATLAB with values ranging from -10 to 10 using the randn function, one must adjust the mean and standard deviation accordingly. While randn generates normally distributed numbers with a mean of 0 and a standard deviation of 1, setting the standard deviation to 3 can help ensure that most values fall within the desired range. However, even with this adjustment, some values may still exceed the limits, necessitating additional steps to cap them at -10 and 10. The discussion emphasizes understanding the implications of standard deviation on the distribution of values. Ultimately, careful consideration of the statistical properties is essential for achieving the desired matrix characteristics.
Dell
Messages
555
Reaction score
0
i am using MATLAB 2008a, for the course i am doing i have been asked to make a random matrix A, 5x5 with a maximum possible value of 10 and a minimum of -10, so what i would have usually done is

Code:
A=-10+20*rand(5)

but i have been told to use the randn command, the problem is that the randn command doesn't have a maximum value of 1, and i cannot find its maximum possible value. what i have done is made the matrix and added a condition that
if A(i,j)>10, A(i,j)=10 and the same for -10, but there must be a better way.
 
Physics news on Phys.org
randn just gives you normally distributed random numbers. By default, I believe the distribution has a mean of 0 and a standard deviation of 1 (\sigma=1, working backwards from the example they provide on the documentation page):
http://www.mathworks.com/access/helpdesk/help/techdoc/ref/randn.html

So, assuming you're familiar with the normal distribution (Gaussian) you just need to choose an appropriate mean value, and standard deviation such that you virtually never encounter values outside of your desired range (i.e. setting the boundaries such that they lie at a very low probability). Recall that even at 1 standard deviation (\sigma=1), you have 68% of your distribution, and that at (\sigma=3) you have 99.7% of your values:
http://en.wikipedia.org/wiki/Normal_distribution#Standard_deviation_and_confidence_intervals

However, you'll still need to go through and set values which lie beyond the limits to your limits (e.g. -10.5 to -10). Why? That's left as an exercise to the reader, but consider how many values you'd expect to lie outside your limits if you set your limits at the (\sigma=3) value, and you had 1000 values.

Yes Virginia, cumulative knowledge is sometimes expected!
 
how can i change the stadnard deviation from 1 to 3?
 
Dell said:
how can i change the stadnard deviation from 1 to 3?

Look at the example in the documentation page for the randn function. And you still have to decide whether or not setting the standard deviation to 3 is acceptable! (As well, why 3 and 1/3 standard deviations to the boundaries?)
 

Similar threads

  • · Replies 7 ·
Replies
7
Views
2K
  • · Replies 4 ·
Replies
4
Views
701
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 3 ·
Replies
3
Views
3K
  • · Replies 7 ·
Replies
7
Views
2K
Replies
15
Views
3K
  • · Replies 10 ·
Replies
10
Views
3K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 18 ·
Replies
18
Views
2K
  • · Replies 4 ·
Replies
4
Views
4K