问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

听说计算机产生的随机数是伪随机数,公式有谁知道。

发布网友 发布时间:2022-04-25 00:02

我来回答

1个回答

热心网友 时间:2023-10-16 09:36

用S作随机模拟计算
作为统计工作者,我们除了可以用S迅速实现新的统计方法,还可以用S进行随机模拟。随机模拟可以验证我们的算法、比较不同算法的的优缺点、发现改进统计方法的方向,是进行统计研究的最有力的计算工具之一。
随机模拟最基本的需要是产生伪随机数,S中已提供了大多数常用分布的伪随机数函数,可以返回一个伪随机数序列向量。这些伪随机数函数以字母r开头,比如rnorm()是正态伪随机数函数,runif()是均匀分布伪随机数函数,其第一个自变量是伪随机数序列长度n。关于这些函数可以参见第14节以及系统帮助文件。下例产生1000个标准正态伪随机数:
>
y
<-
rnorm(1000)
这些伪随机数函数也可以指定与分布有关的参数,比如下例产生1000个均值为150、标准差为100的正态伪随机数:
>
y
<-
rnorm(1000,
mean=150,
sd=100)
产生伪随机数序列是不重复的,实际上,S在产生伪随机数时从一个种子出发,不断迭代更新种子,所以产生若干随机数后内部的随机数种子就已经改变了。有时我们需要模拟结果是可重复的,这只要我们保存当前的随机数种子,然后在每次产生伪随机数序列之前把随机数种子置为保存值即可:
>
the.seed
<-
.Random.seed
>
……………
>
.Random.seed
<-
the.seed
>
y
<-
rnorm(1000)
作为例子,我们来产生服从一个简单的线性回归的数据。
#
简单线性回归的模拟
lm.simu
<-
function(n){
#
先生成自变量。假设自变量x的取值范围在150到180之间,大致服从正态分布。
x
<-
rnorm(n,
mean=165,
sd=7.5)
#
再生成模型误差。假设服从N(0,
1.2)分布
eps
<-
rnorm(n,
0,
1.2)
#
用模型生成因变量
y
<-
0.8
*
x
+
eps
return(data.frame(y,x))
}
S没有提供多元随机变量的模拟程序,这里给出一个进行三元正态随机变量模拟的例子。假设要三元正态随机向量

n个独立观测,可以先产生n个服从三元标准正态分布的观测,放在一个
n行3列的矩阵中:
U
<-
matrix(rnorm(3*n),
ncol=3,
byrow=T)
可以认为矩阵U的每一行是一个标准的三元正态分布的观测。设矩阵
的Choleski分解为

A为上三角矩阵,若随机向量
,则
。因此,
作为一个三行
n列的矩阵每一行都是服从
分布的,且各行之间独立。经过转置,产生的
X
X
<-
matrix(rep(mu,n),
ncol=3,
byrow=T)
+
U
%*%
A
是一个
n行三列的矩阵。
有时模拟需要的计算量很大,多的时候甚至要计算几天的时间。对于这种问题我们要善于把问题拆分成可以单独计算的小问题,然后单独计算每个小问题,把结果保存在S对象中或文本文件中,最后综合保存的结果得到最终结果。
如果某一个问题需要的计算时间比较长,我们在编程时可以采用以下的技巧:每隔一定时间就显示一下任务的进度,以免计算已经出错或进入死循环还不知道;应该把中间结果每隔一段时间就记录到一个文本文件中(cat()函数可以带一个file参数和append参数,对这种记录方法提供了支持),如果需要中断程序,中间结果可能是有用的,有些情况下还可以根据记录的中间结果从程序中断的地方继续执行。
参考文献:
http://www.math.pku.e.cn/teachers/lidf/docs/statsoft/html/s/13.html
随机数和伪随机数的计算公式都是什么呀?

伪随机数是指用数学递推公式所产生的随机数。从实用的角度看,获取这种数的最简单和最自然的方法是利用计算机语言的函数库提供的随机数发生器。典型情况下,它会输出一个均匀分布在0和1区间内的伪随机变量的值。其中应用的最为广泛、研究最彻底的一个算法即线性同余法。线性同余法LCG(Linear Congruence...

rand函数的使用问题

问题一:因为计算机生成的随机数被称作伪随机数,利用公式从一个数计算而来.这个数称作种子,如果你不改变种子的值那么每次生成的随机都是一样的,因为是公式算出来的,不是真正的随机.它产生的数符合正态分布.随机数生成算法:http:// ishare.iask.sina.com.cn/f/8762069.html?from=zhishi 伪随机数:http...

伪随机是什么意思?

现在的计算机还无法产生一个真正的随机数,它能产生的随机数都是伪随机数,在这方面它跟人脑还没法比,但是它有强大的计算功能,可以通过复杂的计算弥补这一缺点。 存在一个基本的随机率m,被的随机率都以m和固有概率共同计算,如网络游戏中攻击力的浮动,装备的精炼。m=f(t)是时间t的函数,t至少精...

随机数的计算公式是什么?

随机数的计算公式主要涉及伪随机数生成算法,其中最常见的是线性同余法(Linear Congruential Generator,LCG)。LCG的基本原理是通过递推公式来生成均匀分布在特定范围内的伪随机数。公式如下:ni+1 = (a * ni + b) mod M 其中,ni+1是下一个随机数,n0是初始值,a、b是常数,M是模数,通常取...

计算机中的随机数是"随机"的吗

不是,是伪随机数,一般是用一个函数f(x)产生,第一次的x为初始的随机数种子,你可以使用当前系统时间,然后第二次是使用上一次产生的随机数当做种子继续产生下一次随机数,以此类推。

rand产生的是伪随机数,什么叫伪随机数?还有rand和srand有什么区别啊...

这样输入范围产生随机数,但是电脑里的随机数顺序已经排列好了,运行程序后你会发现每次出现的随机数都一样,所以要设置一个随机数种子,来插入电脑已经排列好的随机顺序,这样就能解决每次出现一样数据的问题。 把下面这段程序加到rand()前面就ok了。。。unsigned seed;printf("please input seed:")...

什么是伪随机数?

首先需要声明的是,计算机不会产生绝对随机的随机数,计算机只能产生“伪随机数”。其实绝对随机的随机数只是一种理想的随机数,即使计算机怎样发展,它也不会产生一串绝对随机的随机数。计算机只能生成相对的随机数,即伪随机数。 伪随机数并不是假随机数,这里的“伪”是有规律的意思,就是计算机产生的伪随机数既是随机...

为什么有程序员都说取的随机数是伪随机数

通常取的随机数不是凭空生成随机序列,而是基于特定数学算法。这样一组伪随机数序列,每个元素之间近似没有关联。对于大多数应用程序,伪随机数已经够用了。以java的类java.util.Random为例:创建Random实例的时候,可以指定种子,也可以不指定。本质上,种子是某个随机序列的唯一标识符。如果同一个种子创建...

电脑取随机数是什么原理,是真正的随机数吗

大部分程序和语言中的随机数(比如 C 中的,MATLAB 中的),确实都只是伪随机。是由可确定的函数(常用线性同余),通过一个种子(常用计算机内部的时钟),产生的伪随机数。真正意义上的随机数(或者随机事件)在某次产生过程中是按照实验过程中表现的分布概率随机产生的,其结果是不可预测的,是不...

产生伪随机数的公式 VB

或任何有效的数值表达式。Randomize 用 Number 将 Rnd 函数的随机数生成器初始化,并给它一个新的种子值。如果省略 Number,则用系统计时器返回的值作为新的种子值。如果没有使用 Randomize,则(无参数的)Rnd 函数使用第一次调用此函数的同一数字作为种子,并从此使用上一次生成的数字作为种子值。

计算机的随机数生成公式 计算机产生随机数的方法 计算机随机数产生原理 随机数生成小数点的公式 计算机如何生成随机数 计算机生成真随机数 计算机随机数生成原理 随机数是怎么产生的 随机数计算公式
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
珍珠粉可以天天敷脸吗 教你自制珍珠粉面膜 中超什么时候成立 交通刷卡金是什么 哪吒V上市进入倒计时,车身超4米,轴距为2420mm,续航里程401km. 关于倩女幽魂爆鬼问题 倩女幽魂什么是大宝队 关于倩女幽魂爆鬼分红的问题 泰国绿咖喱中的咖喱酱是如何制作的,它的独特口味来源于哪些香料?_百度... 好看电视剧,推荐个,现代都市剧,古装剧,战争爱情剧都可以,要经典,确确 ... 去北京上大学转户口好不好 伪随机数怎么找规律? VHDL 伪随机序列发生器 C++ 中的伪随机数,例如rand(),是怎么生成的? Matlab产生伪随机序列函数 伪随机置换的原理 如何调试激光整平机 什么是伪随机数? 朔马珞3.0激光整平机整平头不怎么振动是什么原因? 怎么样算出伪随机数生成器的公式? 冲压自动化生产线的优势有哪些? 计算机产生伪随机数的周期是多少?算法是什么 激光整平机在工作前如何调试才能更好的操作? 如何产生伪随机序列(用移位寄存器实现,要具体的电路设计方法) matlab产生伪随机序列的问题 卷材为什么要用整平机矫平 什么叫伪随机二进制序列 伪随机序列生成器的初始化有什么意义 冲压车间班长举出三个优势 什么是伪随机码序列 整平机怎么样? matlab如何得到伪随机序列? 伪随机码的实例 matlab能够产生二进制伪随机序列,比如说产生一个4*3的0,1序列,然后保存,进行种子调用 椎间融合器的介绍 陈旧性腰椎压缩性骨折 椎间融合器为什么选用peek材料 椎间融合器的产品标准 请问椎间融合器多少钱啊 耐高温除湿机介绍以及选择建议 椎间融合器注册商标属于哪一类? 目前国内腰椎融合器是peek材料最好吗 可吸收椎间融合器的研究进展 椎间融合器的产品名称(英文) 使用椎间融合器Cage做过手术还能照核磁共振吗? 腰椎间盘突出症手术治疗有必要放置椎间融合器吗 几种常见腰椎融合术的比较 我22岁,男,刚做完腰椎肩管狭窄,打了六颗钉子,还有一个椎间融合器, 腰椎融合器你也放置了么? 椎弓根螺钉和椎间融合器在河北医疗保险中能否给报销 多轴复位螺钉能报销吗腰椎融合手术材料多轴复位螺钉,和固定器能报销吗_百度问一问