matlab中的rng函数

一、matlab中的随机函数有:rand、randn

1、rand功能:生成0-1之间的伪随机数

rand(2)%生成0-1之间的方阵
ans =
 
    0.2785    0.9575
    0.5469    0.9649
 
 
 
rand(1,2)%生成1行2列的矩阵
ans =
 
    0.1576    0.9706
  
 
 
rand(1,2,'double')%生成1行2列的类型为double的随机数
ans =
 
    0.9572    0.4854

2、randn功能:生成标准正态分布的伪随机数(均值为0,方差为1)

使用的例子和上面一样

二、rng函数的功能:控制随机函数的生成

2.1用法一:rng(seed)

rng(seed) 使用非负整数 seed 为随机数生成器提供种子,以使 rand、randi 和 randn 生成可预测的数字序列。
(seed用来控制rand和randn函数生成随机数,例如rand(‘seed’,0)每次生成的随机数都是一样的)

例如执行两次rng(1)以后,每一次后面出面的数字序列都是相同的,这也表达了可预测。
例:
在这里插入图片描述

#将当前生成器设置保存在 s 中:
s = rng;
%调用 rand 以生成随机值向量:
 
x = rand(1,5)
 
x =
 
    0.8147    0.9058    0.1270    0.9134    0.6324
%通过调用 rng 还原原始生成器设置。生成一组新的随机值并验证 x 和 y 是否相等:
 
rng(s);
y = rand(1,5)
 
y =
 
    0.8147    0.9058    0.1270    0.9134    0.6324

2.2用法二:rng(‘shuffle’)

根据当前时间为随机数生成器提供种子。这样,rand、randi 和 randn 会在您每次调用 rng 时生成不同的数字序列。

2.3用法三:rng(seed,generator)、rng(‘shuffle’,generator)

制定随机数生成的类型,因为我们使用的是算法来生成随机数的,故指定的便是算法的类型
‘twister’:梅森旋转

‘simdTwister’:面向 SIMD 的快速梅森旋转算法

‘combRecursive’:组合多递归

‘philox’:执行 10 轮的 Philox 4×32 生成器

‘threefry’:执行 20 轮的 Threefry 4×64 生成器

‘multFibonacci’:乘法滞后 Fibonacci

‘v5uniform’:传统 MATLAB® 5.0 均匀生成器

‘v5normal’:传统 MATLAB 5.0 正常生成器

‘v4’:传统 MATLAB 4.0 生成器

2.4用法四:rng(‘default’)

rng(‘default’) 将 rand、randi 和 randn 使用的随机数生成器的设置重置为其默认值。这样,会生成相同的随机数,就好像您重新启动了 MATLAB。默认设置是种子为 0 的梅森旋转生成器。

2.5用法五:scurr = rng和rng(s)

功能在上述的代码中可以看到

2.6sprev = rng(…)

返回 rand、randi 和 randn 使用的随机数生成器的以前设置,然后更改这些设置。

%使用传统生成器。
 
sprev = rng(0,'v5uniform')
 
sprev =
     Type: 'twister'
     Seed: 0
    State: [625x1 uint32]
 
x = rand
 
x =
 
    0.9501
%通过调用 rng 还原以前的设置。
 
rng(sprev)
MATLAB中,rng函数用于设置随机数生成器的种子和生成器类型。以下是rng函数的几种用法和说明: 1. rng(seed):使用指定的种子设置随机数生成器。种子是一个整数值,用于确定生成的随机数序列。例如,rng(123)将使用种子123来生成随机数序列。 2. rng('shuffle'):使用当前时间作为种子来设置随机数生成器。这样可以产生更随机的随机数序列。 3. rng(seed, generator):使用指定的种子和生成器类型设置随机数生成器。生成器类型可以是'mt19937'、'mcg16807'、'mlfg6331_64'等。 4. rng('shuffle', generator):使用当前时间和指定的生成器类型设置随机数生成器。 5. rng('default'):将rand、randi和randn函数使用的随机数生成器设置重置为默认值。默认设置是种子为0的梅森旋转生成器。 6. scurr = rng:返回当前随机数生成器的状态。 7. rng(s):使用之前保存的随机数生成器状态s来设置随机数生成器。 综上所述,rng函数可以用于设置随机数生成器的种子和生成器类型,以控制随机数的生成过程。 #### 引用[.reference_title] - *1* [matlab rng函数使用说明](https://blog.csdn.net/weixin_40946248/article/details/120033357)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [matlab中的rng函数](https://blog.csdn.net/Anne033/article/details/115295056)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [MATLAB小技巧整理-那些你必须得知道的matlab技巧](https://blog.csdn.net/qq_27595745/article/details/129001147)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值