怎么用matlab生成20.1到25.9之间的随机数,要求保留到小数点后一位?高手进

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么用matlab生成20.1到25.9之间的随机数,要求保留到小数点后一位?高手进相关的知识,希望对你有一定的参考价值。

x=round((rand*(25.9-20.1)+20.1)*10)/10
首先rand*(25.9-20.1)生成了20.1到25.9区间大小的随机数
+20.1就是20.1到25.9之间的随机数了
然后用round取整,先乘10取整再除10就是保留1位小数了

附送:
生成a~b间随机数:
x=rand*(b-a)+a

对数v保留n位小数:
x=round(v*power(10,n))/power(10,n)

对于你的条件就是:
x=rand*(25.9-20.1)+20.1
x=round(x*power(10,1))/power(10,1)
整合成一句就是
x=round((rand*(25.9-20.1)+20.1)*10)/10
参考技术A x=round((rand*(25.9-20.1)+20.1)*10)/10
首先rand*(25.9-20.1)生成了20.1到25.9区间大小的随机数
+20.1就是20.1到25.9之间的随机数了
然后用round取整,先乘10取整再除10就是保留1位小数了

附送:
生成a~b间随机数:
x=rand*(b-a)+a

对数v保留n位小数:
x=round(v*power(10,n))/power(10,n)

对于你的条件就是:
x=rand*(25.9-20.1)+20.1
x=round(x*power(10,1))/power(10,1)
整合成一句就是
x=round((rand*(25.9-20.1)+20.1)*10)/10

[原创]Matlab生成随机数

Matlab中有着丰富的随机数生成函数以应用于不同的情景,我一般使用生成随机的1~N的整数,但是之前了解的只有rand函数,其生成主要为0~1之间的随机数,但是和所预想的有差异。在此进行进行了help指令,之后了解到了randi函数,并初步学会使用,在此做一个记录。

rand函数

rand函数是生产0~1的随机数,rand(N)为生产一个N行N列的随机数矩阵,rand(M,N)为生成一个M行N列的随机数矩阵。以下为一些示例。

>> rand(3)

ans =

    0.8147    0.9134    0.2785
    0.9058    0.6324    0.5469
    0.1270    0.0975    0.9575

>> rand(2, 3)

ans =

    0.9649    0.9706    0.4854
    0.1576    0.9572    0.8003

在help rand后,我们可以观察其解释说明。

>> help rand
 rand Uniformly distributed pseudorandom numbers.
    R = rand(N) returns an N-by-N matrix containing pseudorandom values drawn
    from the standard uniform distribution on the open interval(0,1).  rand(M,N)
    or rand([M,N]) returns an M-by-N matrix.  rand(M,N,P,...) or
    rand([M,N,P,...]) returns an M-by-N-by-P-by-... array.  rand returns a
    scalar.  rand(SIZE(A)) returns an array the same size as A.

    Note: The size inputs M, N, P, ... should be nonnegative integers.
    Negative integers are treated as 0.

    R = rand(..., ‘double‘) or R = rand(..., ‘single‘) returns an array of
    uniform values of the specified class.

    The sequence of numbers produced by rand is determined by the settings of
    the uniform random number generator that underlies rand, RANDI, and RANDN.
    Control that shared random number generator using RNG.

通过最后其提示的See also,我们可以观看其他和随机数有关的函数,看有没有合适的函数。

See also randi, randn, rng, RandStream, RandStream/rand,
         sprand, sprandn, randperm.

randi函数

产生1~NUM的随机整数,NUM可调整。其中NUM作为一个输入的参数。randi(MAX, N)产生一个最大值为MAX的N行N列的整数矩阵,randi(MAX, M, N)产生一个最大值为MAX的M行N列的整数矩阵。以下为一些示例。

>> randi(5, 6)

ans =

     1     1     5     3     1     1
     2     5     2     1     2     4
     1     5     1     1     2     4
     1     3     4     5     5     4
     2     3     2     5     1     3
     3     2     2     3     1     3

>> randi(5, 3, 9)

ans =

     2     4     4     5     3     3     4     5     5
     4     1     4     4     3     3     4     3     5
     1     2     1     3     2     5     2     2     3

在help randi后,我们可以观察其解释说明。

>> help randi
 randi Pseudorandom integers from a uniform discrete distribution.
    R = randi(IMAX,N) returns an N-by-N matrix containing pseudorandom
    integer values drawn from the discrete uniform distribution on 1:IMAX.
    randi(IMAX,M,N) or randi(IMAX,[M,N]) returns an M-by-N matrix.
    randi(IMAX,M,N,P,...) or randi(IMAX,[M,N,P,...]) returns an
    M-by-N-by-P-by-... array.  randi(IMAX) returns a scalar.
    randi(IMAX,SIZE(A)) returns an array the same size as A.

    R = randi([IMIN,IMAX],...) returns an array containing integer
    values drawn from the discrete uniform distribution on IMIN:IMAX.

    Note: The size inputs M, N, P, ... should be nonnegative integers.
    Negative integers are treated as 0.

    R = randi(..., CLASSNAME) returns an array of integer values of class
    CLASSNAME.

    The arrays returned by randi may contain repeated integer values.  This
    is sometimes referred to as sampling with replacement.  To get unique
    integer values, sometimes referred to as sampling without replacement,
    use RANDPERM.

    The sequence of numbers produced by randi is determined by the settings of
    the uniform random number generator that underlies RAND, RANDN, and randi.
    randi uses one uniform random value to create each integer random value.
    Control that shared random number generator using RNG.
 
 

以上是关于怎么用matlab生成20.1到25.9之间的随机数,要求保留到小数点后一位?高手进的主要内容,如果未能解决你的问题,请参考以下文章

请问,怎么用matlab生成一个随机对称的矩阵

怎么用matlab生成随机数,排序,取数排序前的位置?

Matlab 笔记

怎么在matlab中生成一个随机的强联通图

shell怎么产生一个随机数,要求是0到1之间的,小数位数是16位

怎么用R语言生成0-1之间的随机数?