1. Not finding help here? Sign up for a free 30min tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Making random matrix in matlab

  1. May 20, 2009 #1
    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 (Text):
    A=-10+20*rand(5)
    but i have been told to use the randn command, the problem is that the randn command doesnt 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.
     
  2. jcsd
  3. May 21, 2009 #2

    MATLABdude

    User Avatar
    Science Advisor

    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!
     
  4. May 21, 2009 #3
    how can i change the stadnard deviation from 1 to 3?
     
  5. May 21, 2009 #4

    MATLABdude

    User Avatar
    Science Advisor

    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?)
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook




Similar Discussions: Making random matrix in matlab
  1. Matlab - Banded Matrix (Replies: 1)

Loading...