Making random matrix in matlab

  • #1
590
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.
 

Answers and Replies

  • #2
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 ([itex]\sigma=1[/itex], 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 ([itex]\sigma=1[/itex]), you have 68% of your distribution, and that at ([itex]\sigma=3[/itex]) 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 ([itex]\sigma=3[/itex]) value, and you had 1000 values.

Yes Virginia, cumulative knowledge is sometimes expected!
 
  • #3
how can i change the stadnard deviation from 1 to 3?
 
  • #4
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?)
 

Suggested for: Making random matrix in matlab

Replies
5
Views
724
Replies
1
Views
618
Replies
3
Views
447
Replies
10
Views
763
Replies
1
Views
476
Replies
2
Views
422
Replies
3
Views
608
Replies
4
Views
868
Back
Top