Is there a way in Matlab using the pseudo number generator to generate numbers within a specific range?

前端 未结 2 1778
难免孤独
难免孤独 2020-12-04 02:43

For example:

round(7*rand(1,5))

Generates 5 numbers between 1 and 7 Is there a way to generate 5 random numbers between 5 and 7? Or an abst

相关标签:
2条回答
  • 2020-12-04 03:11

    More generally:

    minInt = 5;
    maxInt = 7;
    numInts = 10;
    
    r = randi([minInt, maxInt],[1,numInts])
    
    r =
    
     6     7     7     7     6     5     5     5     7     5
    
    0 讨论(0)
  • 2020-12-04 03:14

    First, if you are wanting to generate random integer values, it's better to use the function RANDI. Then it's just a matter of shifting and scaling the random numbers accordingly. The following should give you random integers between 5 and 7 inclusive:

    nums = randi(3,[1 5])+4;
    

    EDIT: As Amro's comment and Doug's answer point out, there is a more straightforward solution whereby you can specify the range directly as the first argument to RANDI:

    nums = randi([5 7],[1 5]);
    
    0 讨论(0)
提交回复
热议问题