精华内容
下载资源
问答
  • MATLAB 中的randn函数

    万次阅读 多人点赞 2019-08-31 22:55:55
    matlab函数 randn:产生正态分布的随机数或矩阵的函数 randn:产生均值为0,方差σ^2 = 1,标准差σ= 1的正态分布的随机数或矩阵的函数。 用法: Y = randn(n):返回一个n*n的随机项的矩阵。如果n不是个数量,将...

    matlab函数

    randn:产生正态分布的随机数或矩阵的函数

    randn:产生均值为0,方差σ^2 = 1,标准差σ = 1的正态分布的随机数或矩阵的函数。

    用法:

    Y = randn(n):返回一个n*n的随机项的矩阵。如果n不是个数量,将返回错误信息。

    Y = randn(m,n) 或 Y = randn([m n]):返回一个m*n的随机项矩阵。

    Y = randn(m,n,p,...) 或 Y = randn([m n p...]):产生随机数组。

    Y = randn(size(A)):返回一个和A有同样维数大小的随机数组。

    randn

    返回一个每次都变化的数量。

    s = randn('state')

    举例

    Example 1. R = randn(3,4) 将生成矩阵

    R =

    1.1650 0.3516 0.0591 0.8717

    0.6268 -0.6965 1.7971 -1.4462

    0.0751 1.6961 0.2641 -0.7012

    For a histogram of the randn distribution, see hist.

    Example 2. 产生一个随机分布的指定均值和方差的矩阵:将randn产生的结果乘以标准差,然后加上期望均值即可。例如,产生均值为0.6,方差为0.1的一个5*5的随机数方式如下:

    x = .6 + sqrt(0.1) * randn(5)

    x =

    0.8713 0.4735 0.8114 0.0927 0.7672

    0.9966 0.8182 0.9766 0.6814 0.6694

    0.0960 0.8579 0.2197 0.2659 0.3085

    0.1443 0.8251 0.5937 1.0475 -0.0864

    0.7806 1.0080 0.5504 0.3454 0.5813

    其他类似函数:rand, randperm, sprand, sprandn

     

    均匀分布的随机数或矩阵
    语法
    Y = rand(n)
    Y = rand(m,n)
    Y = rand([m n])
    Y = rand(m,n,p,...)
    Y = rand([m n p...])
    Y = rand(size(A))
    rand
    s = rand('state')
    描述
    rand函数产生由在(0, 1)之间均匀分布的随机数组成的数组
    Y = rand(n) 返回一个n x n的随机矩阵如果n不是数量,则返回错误信息
    Y = rand(m,n) 或 Y = rand([m n]) 返回一个m x n的随机矩阵
    Y = rand(m,n,p,...) 或Y = rand([m n p...]) 产生随机数组
    Y = rand(size(A)) 返回一个和A有相同尺寸的随机矩阵
    1,rand(3)*-2 rand(3)是一个3*3的随机矩阵(数值范围在0~1之间) 然后就是每个数乘上-2
    2 ,用matlab随机产生60个1到365之间的正数1+fix(365*rand(1,60));
    3,用rand函数随机取100个从-1到1的数x1,x2,...,x = rand(1,100) * 2 - 1

    展开全文
  • matlab函数之randn()

    千次阅读 2021-06-05 20:49:52
    randn - 正态分布的随机数 功能: X = randn 返回一个从标准正态分布中得到的随机标量。 示例 X = randn(n) 返回由正态分布的随机数组成的 n×n 矩阵。 示例 X = randn(sz1,…,szN) 返回由随机数组成的 sz1×…×szN...

    randn - 正态分布的随机数

    语法:

    1. X = randn 返回一个从标准正态分布中得到的随机标量。
      【示例】:
      在这里插入图片描述

    2. X = randn(n) 返回由正态分布的随机数组成的 n×n 矩阵。
      【示例】:
      在这里插入图片描述
      随机数落在-3 ~ 3的概率是99.6%

    3. X = randn(sz1,…,szN) 返回由随机数组成的 sz1×…×szN 数组,其中 sz1,…,szN 指示每个维度的大小。例如:randn(3,4) 返回一个 3×4 的矩阵。
      【示例】:
      在这里插入图片描述

    4. X = randn(sz) 返回由随机数组成的数组,其中大小矢量 sz 定义 size(X)。例如:randn([3 4]) 返回一个 3×4 的矩阵。
      【示例】:
      在这里插入图片描述

    5. X = randn(___,typename) 返回由 typename 数据类型的随机数组成的数组。typename 输入可以是 ‘single’ 或 ‘double’。您可以使用上述语法中的任何输入参数。
      【示例】{
      在这里插入图片描述

    6. X = randn(___,‘like’,p) 返回由 p 等随机数组成的数组;也就是与 p 同一对象类型。您可以指定 typename 或 ‘like’,但不能同时指定两者
      【未实验】

    拓展应用

    1. 生成同样的随机数
      利用rng ( 控制随机数生成函数)先获取当前生成随机数种子 ,后续利用该种子重新获取随机数据即得
      【示例】:
      在这里插入图片描述

    2. 生成特定方差和均值的随机数
      X = randn(sz) * sqrt(σ^2) + u
      其中(sz为矩阵维度,σ^2为方差,u为均值)

      【示例】:矩阵大小:[3, 4], 方差为0.01, 均值为4
      在这里插入图片描述
      随机数落在(3.7~4.3)的概率为99.6%

      【示例】:矩阵大小:[10, 10], 方差为16, 均值为2
      在这里插入图片描述
      随机数分布在-10 ~14之间的概率为99.6%

    【以上例作为样例补充】

    一元正态分布的密度函数如下
    在这里插入图片描述

    标准差(sigma σ):也叫形状参数,标准差越大,离散程度越大,图形越平缓,反之,图形越陡,数据越集中,越靠近均值
    在这里插入图片描述
    方差=标准差^2:
    在这里插入图片描述
    标准正太分布:即方差为1,均值(期望)为0
    在这里插入图片描述
    当x= 0时,峰值~=0.4

    其中,
    u为均值,也叫位置参数,可以理解为正太分布曲线对称轴
    N为样本总数
    (详细请可以参考概率论标准差、方差、均值)
    在这里插入图片描述
    在这里插入图片描述

    p(u-σ <= X <= u+σ) = 0.682
    p(u-2σ <= X <= u+2σ) = 0.954
    p(u-3σ <= X <= u+3σ) = 0.996
    上例中,也就是随机产生[10, 10],100个数, 方差为16,标准差为4, 均值为2,落在-10 ~14之间的概率为99.6%

    使用中可以利用自己需要数据范围设置对应均值和方差即可。

    展开全文
  • 1 randi()函数生成均匀分布的伪随机整数,范围为imin--imax,如果没指定imin,则默认为1。 r = randi(imax,n):生成n*n的矩阵 r = randi(imax,m,n):生成m*n的矩阵 r = randi(imax,[m,n]):同上 r = randi(imax,m...

    1 randi()函数生成均匀分布的伪随机整数,范围为imin--imax,如果没指定imin,则默认为1。

    r = randi(imax,n):生成n*n的矩阵
    
    r = randi(imax,m,n):生成m*n的矩阵
    
    r = randi(imax,[m,n]):同上
    
    r = randi(imax,m,n,p,...):生成m*n*p*...的矩阵
    
    r = randi(imax,[m,n,p,...])同上
    
    r = randi(imax):1*1的矩阵
    
    r = randi(imax,size(A)):和size(A)同维的矩阵
    
    r = randi([imin,imax],...)

    2rand ()函数生成0-1的矩阵

    r = rand(a,b):生成a*b的0-1(1以内)的矩阵 
    
    r = rand(3):生成3*3的0-1(1以内)的矩阵 
    
    r = rand(size(A)):和size(A)同维的矩阵
    
    r = rand(a,b,'single/double');指定精度的矩阵
    
    r = rand(RandSteam,a,b);Rand Steam要生成的限制,生成什么样子的种子。a*b

    3randn()函数,生成的是均值为0方差为1的正态分布形状的矩阵

     

    展开全文
  • 一起来学演化计算-matlab基本函数randn,orth 觉得有用的话,欢迎一起讨论相互学习~Follow Me randn X = randn 随机从正态分布中选一个数作为结果 X = randn(n) 随机从正态分布中选n*n个数组成一个(n,n)的正方形...

    一起来学演化计算-matlab基本函数randn,rand, orth

    觉得有用的话,欢迎一起讨论相互学习~

    我的微博我的github我的B站

    randn

    X = randn

    • 随机从正态分布中选一个数作为结果

    X = randn(n)

    • 随机从正态分布中选n*n个数组成一个(n,n)的正方形矩阵
    r = randn(5)
    r =
    
        0.5377   -1.3077   -1.3499   -0.2050    0.6715
        1.8339   -0.4336    3.0349   -0.1241   -1.2075
       -2.2588    0.3426    0.7254    1.4897    0.7172
        0.8622    3.5784   -0.0631    1.4090    1.6302
        0.3188    2.7694    0.7147    1.4172    0.4889
    

    X = randn(sz1,…,szN)

    • 从正态分布中随机数形成(sz1,…,szN)形状的矩阵
    r = randn(1,5)
    r =
    
        0.5377    1.8339   -2.2588    0.8622    0.3188
    

    rand

    • 均匀分布随机数

    语法

    • X = rand 返回区间(0,1)内的一个均匀分布的随机数。
    • X = rand(n) 返回一个n×n的随机数矩阵。
    • X = rand(sz1,…,szN) 返回一个sz1-by-…-by-szN随机数数组,其中sz1,…,szN表示每个维度的大小。例如,rand(3,4)返回一个3×4矩阵。
    • X = rand(sz) 返回一个随机数数组,其中大小向量sz指定数组size。例如,rand([3 4])返回一个3×4矩阵。
    • X = rand( ___ ,typename ) 返回数据类型typename的随机数数组。typename输入可以是’single’或’double’。您可以使用前面语法中的任何输入参数。
    • X = rand( ___ ,‘like’,p) 返回一个随机数字数组,如p;也就是说,与p具有相同的对象类型。您可以指定typename或“like”,但不能同时指定两者。

    语法

    随机数矩阵

    生成一个由0到1之间的均匀分布随机数组成的5×5矩阵

    r = rand(5)
    r =
    
        0.8147    0.0975    0.1576    0.1419    0.6557
        0.9058    0.2785    0.9706    0.4218    0.0357
        0.1270    0.5469    0.9572    0.9157    0.8491
        0.9134    0.9575    0.4854    0.7922    0.9340
        0.6324    0.9649    0.8003    0.9595    0.6787
    

    指定区间内的随机数

    在区间(-5,5)内生成一个10×1的均匀分布数列向量

    r = -5 + (5+5)*rand(10,1)
    r =
    
        3.1472
        4.0579
       -3.7301
        4.1338
        1.3236
       -4.0246
       -2.2150
        0.4688
        4.5751
        4.6489
    

    一般情况下,你可以在(a,b)区间内生成N个随机数,公式为 r = a + ( b − a ) . ∗ r a n d ( N , 1 ) r = a + (b-a).*rand(N,1) r=a+(ba).rand(N,1)

    满足均匀分布的随机整数

    使用randi函数(而不是rand)从10到50之间的均匀分布生成5个随机整数

    r = randi([10 50],1,5)
    r =
    
        43    47    15    47    35
    

    随机复数

    在区间(0,1)中生成一个包含实部和虚部的随机复数

    a = rand + 1i*rand
    a =
    
       0.8147 + 0.9058i
    

    复位随机数种子

    保存随机数生成器的当前状态,并创建一个1×5的随机数向量

    s = rng;
    r = rand(1,5)
    r =
    
        0.8147    0.9058    0.1270    0.9134    0.6324
    % 将随机数生成器的状态恢复为s,然后创建一个新的1×5的随机数向量。值与之前相同
    rng(s);
    r1 = rand(1,5)
    r1 =
    
        0.8147    0.9058    0.1270    0.9134    0.6324
    

    3维随机数组

    创建一个3×2×3的随机数数组

    X = rand([3,2,3])
    X(:,:,1) =
    
        0.8147    0.9134
        0.9058    0.6324
        0.1270    0.0975
    
    
    X(:,:,2) =
    
        0.2785    0.9649
        0.5469    0.1576
        0.9575    0.9706
    
    
    X(:,:,3) =
    
        0.9572    0.1419
        0.4854    0.4218
        0.8003    0.9157
    

    指定随机数的数据类型

    创建一个1×4的随机数字向量,其元素都是单精度的

    r = rand(1,4,'single')
    r =
    
        0.8147    0.9058    0.1270    0.9134
    
    class(r)
    ans =
    
    single
    
    

    克隆已有矩阵的形状

    创建与现有数组大小相同的随机数矩阵

    A = [3 2; -2 1];
    sz = size(A);
    X = rand(sz)
    X =
    
        0.8147    0.1270
        0.9058    0.9134
    
    或
    
    X = rand(size(A));
    

    从现有数组克隆大小和数据类型

    创建一个2×2矩阵的单精度随机数

    p = single([3 2; -2 1]);
    Create an array of random numbers that is the same size and data type as p.
    
    X = rand(size(p),'like',p)
    X =
    
        0.8147    0.1270
        0.9058    0.9134
    
    class(X)
    ans =
    
    single
    
    

    orth

    • 求矩阵的标准正交基(PS:矩阵分析时代离我已经遥远)
      • 不过记得意思好像是,正交矩阵的转置乘以正交矩阵得到的是单位矩阵
    • Q = orth(A)返回A的范围的一组标准正交基。Q的列向量张成了A的范围。Q中的列数等于A的秩。

    满秩

    % 计算并验证满秩矩阵范围的标准正交基向量。
    
    % 定义一个矩阵并求出秩
    
    A = [1 0 1;-1 -2 0; 0 1 -1];
    r = rank(A)
    r =
    
         3
    
    % 由于A是满秩的方阵,orth(A)计算的标准正交基与奇异值分解计算的矩阵U相匹配,[U,S] = svd(A,'econ')。这是因为A的奇异值都是非零的。
    
    利用orth计算A的值域的标准正交基
    
    Q = orth(A)
    Q =
    
       -0.1200   -0.8097    0.5744
        0.9018    0.1531    0.4042
       -0.4153    0.5665    0.7118
    
    % Q中的列数等于秩(A)因为A是满秩的,Q和A的大小是一样的。
    % 验证基Q是正交的,并且在合理的误差范围内归一化。
    
    E = norm(eye(r)-Q'*Q,'fro')
    E =
    
       9.6228e-16
    
    % Q矩阵的转置和Q相乘后的结果是一个单位矩阵,将其和单位矩阵相减后得到结果误差十分小
    
    展开全文
  • matlab randn 函数

    2018-04-10 19:06:00
    matlab中x=X(1:N)是什么意思:1:5 表示是 (1,2,3,4,5) 这样一个向量 。X(1:N) 当然就是取X中前N个元素了.。 例如,我想在1-60之间得到10个服从标准正态分布的随机数,如何实现?? 先用标准正态随机产生函数randn...
  • 在用matlab进行编程时经常会混淆这三个函数的用法,下面通过例子简明说明一下每个函数的用法。 rand()函数是产生(0,1)区间的任意随机数,有范围限制,如果写成rand(m,n)的形式就是产生m行n列的随机项矩阵,并且...
  • matlabrandn(‘state’)转载:http://www.cnblogs.com/rong86/p/3572284.html randn('state') 随机数都是由RandStream随机数据流生成的(里面有一套固定的算法,一般用时间发生装置)。其中就有'state','...
  • MATLAB 中的randn函数 转发

    千次阅读 2017-05-12 18:35:49
    matlab函数 randn:产生正态分布的随机数或矩阵的函数 randn:产生均值为0,方差σ^2 = 1,标准差σ = 1的正态分布的随机数或矩阵的函数。 用法: Y = randn(n):返回一个n*n的随机项的矩阵。如果n不是个数量,...
  • MATLAB中的rand()和randn()函数

    万次阅读 2019-07-05 17:07:08
    Matlab中,rand是0-1的均匀随机分布,而randn是均值为0方差为1的正态分布。 1.rand()是0-1的均匀随机分布 介绍 例子 举个例子:X =rand产生一个在(0,1)区间内的随机数。 X =rand(n)或X =randn(n)产生...
  • 2. randn()函数用于生成 标准 正态分布的伪随机数。 用法同1.     3. randi()函数用于生成均匀分布的 伪随机整数 ,范围为(imin~imax)(开区间),若imin缺省,默认为1. randi(imax,1) 或 randi(imax):生成...
  • Matlab中的rand和randn函数用法总结

    万次阅读 2019-03-11 20:00:54
    1,rand(3)*3 rand(3)是一个3*3的随机矩阵(数值范围在0~1之间) 然后就是每个数乘上3 2 ,用matlab随机产生50个1到300之间的正数1+fix(300*rand(1,50)); 3,用rand函数随机取100个从-1到1的数x1,x2,...
  • 1. 2、rand(n):产生范围为0-1的nxn随机数矩阵 1.3、rand(m,n):产生范围为0-1的mxn随机数矩阵 1.4、rand(size(A)):产生范围为0-1,且行列数与A矩阵相同的随机数矩阵。 II.randn用法 2.1、randn:随机的数,服从标准...
  • matlab人脸识别论文

    万次阅读 多人点赞 2019-10-11 17:41:51
    人脸识别的研究范围广义上来讲大致包括以下hi个方面的内容。 1.人脸定位和检测(Face Detection) :即从动态的场景与复杂的背景中检测出人臉的存在并且确定其位置,最后分离出来。这一任务主要受到光照、噪声、面部...
  • randn 正态分布的随机数(Matlab

    千次阅读 2020-04-24 22:57:19
    X = randn X = randn(n) X = randn(sz1,…,szN) X = randn(sz) X = randn(___,typename) X = randn(___,‘like’,p) 2.说明 X = randn 返回一个从标准正态分布中得到的随机标量。 X = randn(n) 返回由正态分布的...
  • MATLAB 粒子群算法,例题与常用模版

    万次阅读 多人点赞 2018-09-06 18:09:18
    MATLAB 粒子群算法 本文学习自:Particle Swarm Optimization in MATLAB - Yarpiz Video Tutorial 与《精通MATLAB智能算法》 1. 简介: Particle Swarm Optimization ,粒子群优化算法,常用来找到方程...
  • QPSK调制与解调-MATLAB基带仿真

    千次阅读 多人点赞 2020-01-21 17:34:59
    本篇文章介绍QPSK调制基本原理,通过MATLAB对QPSK系统性能进行基带仿真。
  • 一、rand():产生(0,1)之间均匀分布的伪随机数。... x = rand(n): 返回一个n*n的矩阵,矩阵中所有元素都在(0,1)的范围内。 3. x = rand(n,m) :返回一个n*m的矩阵,矩阵中所有的元素都在(0,1)的...
  • MATLAB矩阵生成

    万次阅读 多人点赞 2017-01-10 16:23:00
    MATLAB矩阵生成
  • MatLab中rand randi randn 三个函数的解析 1.rand 概括:生成(0,1)之间的均匀分布的伪随机数 示例1: >>rand %什么参数也没有,生成一个(0,1)的数 示例2: >>rand(m,n) %生成m行n列...
  • semilogx(std_var,RMSE1,'-O',std_var,RMSE2,'-s') %x轴取对数,X轴范围是1e-2到1e2,Y轴的范围是变动的 xlabel('测量噪声标准差(m) '); legend('TOALLOP','TOACHAN'); ylabel('RMSE'); legend('TOA-LLOP','TOA-...
  • 对于均匀分布,MATLAB 函数 rand() 返回的值乘以 (ba),然后添加到 a。 对于正态分布,randn() 的输出乘以标准差 (b),然后与平均值 (a) 相加。 参数:(输入) a - (ix 1) 值的行向量,指定每个值的下限正态分布...
  • 1.rand函数和randn函数 **rand函数:**产生由在(0, 1)之间均匀分布的随机数组成的数组。rand(n)、rand(m,n)…… **randn函数:**产生正态分布的随机数或矩阵的函数。randn(n)、randn(m,n)…… 2.bar函数 bar、bar3...
  • 1,rand 生成均匀分布的伪随机数。分布在(0~1)之间 主要语法:rand(m,n)生成m行n列的均匀分布的伪随机数 rand(m,n,‘double’)生成指定精度的...2,randn 生成标准正态分布的伪随机数(均值为0,方差为1) 主要...
  • MATLAB中有两个经常会用到的(伪)随机数发生函数:rand与randn。 rand函数——生成均匀分布伪随机数。 randn函数——生成正态分布伪随机数。 统计工具箱(StatisticalToolbox)中较为复杂的随机数发生函数都是...
  • Matlab内置了五种随机函数:rand:生成在(0, 1)之间均匀分布的随机数randn:生成均值为0,方差为1的标准正态分布的随机数randi(imax):生成在[1, imax] 均匀分布的伪随机整数randsrc(m, n, [alphabet; prob]):生成...
  • BPSK调制与解调-MATLAB基带仿真

    千次阅读 多人点赞 2020-01-20 22:31:41
    本篇文章介绍BPSK调制基本原理,通过MATLAB对BPSK系统性能进行基带仿真。
  • 有效地找到信号中的局部最大值(NlogN 时间)——这些被定义为高于指定范围内任何其他点的点。 Matlab 的“findpeaks”有一个稍微不同的定义,其中峰值只需间隔一些最小距离,但不必是其区域中的实际最大值。 要...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,633
精华内容 1,053
关键字:

matlabrandn范围

matlab 订阅