随机数

蒙特卡洛法—非均匀随机数的产生

流过昼夜 提交于 2020-02-06 13:57:08
1.反变换法 设需产生分布函数为F(x)的连续随机数X。若已有[0,1]区间均匀分布随机数R,则产生X的反变换公式为: F(x)=r, 即 x=F -1 (r) 反函数存在条件:如果函数y=f(x)是定义域D上的单调函数,那么f(x)一定有反函数存在,且反函数一定是单调的。分布函数F(x)为是一个单调递增函数,所以其反函数存在。 从直观意义上理解,因为r一一对应着x,而在[0,1]均匀分布随机数R≤r的概率P(R≤r)=r 。 因此,连续随机数X≤x的概率P(X≤x)=P(R≤r)=r=F(x) 即X的分布函数为F(x)。 例子:下面的代码使用反变换法在区间[0, 6]上生成随机数,其概率密度近似为 P ( x ) = e -x 1 import numpy as np 2 import matplotlib.pyplot as plt 3 4 # probability distribution we're trying to calculate 5 p = lambda x: np.exp(-x) 6 7 # CDF of p 8 CDF = lambda x: 1-np.exp(-x) 9 10 # invert the CDF 11 invCDF = lambda x: -np.log(1-x) 12 13 # domain limits 14 xmin = 0 # the

python实现主成分分析法降维(PCA)

风格不统一 提交于 2020-02-06 02:53:21
一、基础主成分分析(PCA) 基本代码 import sklearn . decomposition clf_pca = sklearn . decomposition . PCA ( n_components = None , copy = True , whiten = False , svd_solver = 'auto' , tol = 0.0 , iterated_power = 'auto' , random_state = None ) PCA模型中参数的解释 n_components:主成分个数 【default】n_components = None = min(n_samples, n_features) - 1 【选项】:None | (int) copy:是否复制数据,不复制(False)则覆盖原有数据 【default】copy = True 【选项】:True | False whiten:白噪化处理 【default】whiten=False 【选项】:False | bool , optional False :乘以n个样本的平方根,然后除以奇异值 bool : optional : svd_solver:奇异值分解器 【default】svd_solver=‘auto’ 【选项】:str{‘auto’ | ‘full’ | ‘arpack’ |

【Java基础08】内部类、枚举类、日期和时间、Math、Random

妖精的绣舞 提交于 2020-02-06 02:01:26
1 内部类 1.1 概念 大部分时候,类被定义成一个独立的程序单元,在某些情况下,也会把一个类放到另一个类的内部定义,这个定义在其他类内部的类就被称为内部类,包含内部类的类被称为外部类。 1.2 作用 1.提供更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类。 2.内部类成员可以直接访问外部类的私有数据,因为内部类被当成其外部类成员,同一个类的成员之间可以互相访问。但外部类不能访问内部类的实现细节,例如内部类的成员变量。 3.匿名内部类适合用于创建那些仅需要一次使用的类。 注意: 1.内部类比外部类可以多使用三个修饰符:private、protected、static,外部类不可以使用这三个修饰符。 2.非静态内部类不能拥有静态成员。 1.3 非静态内部类 成员内部类分为两种,静态内部类和非静态内部类,使用static修饰的成员内部类是静态内部类,没有使用static修饰的成员内部类是非静态内部类。(在方法中定义的内部类被称为局部内部类) 不允许在外部类的静态成员中直接使用非静态内部类,不允许在非静态内部类中定义静态成员。非静态内部类里不能有静态方法、静态成员变量、静态初始化块。 1.4 静态内部类 如果使用static来修饰一个内部类,则这个内部类就属于外部类本身,而不属于外部类的某个对象。因此使用static 修饰的内部类被称为类内部类

set.seed的作用

▼魔方 西西 提交于 2020-02-05 17:06:00
#set.seed()产生随机数 #用于设定随机数种子,一个特定的种子可以产生一个特定的伪随机序列,这个函数的主要目的, #是让你的模拟能够可重复出现,因为很多时候我们需要取随机数,但这段代码再跑一次的时候, #结果就不一样了,如果需要重复出现同样的模拟结果的话,就可以用set.seed()。 ng = 500 nc = 20 set . seed ( 123456789 ) head ( rnorm ( ng * nc ) ) 来源: CSDN 作者: root_lty 链接: https://blog.csdn.net/m0_37119401/article/details/104182522

HTTPS原理01 -- SSL/TLS介绍

时光毁灭记忆、已成空白 提交于 2020-02-05 05:20:29
https=http+ssl 顾名思义,https是在http的基础上加上了SSL保护壳,信息的加密过程就是在SSL中完成的 SSL证书的定义:SSL证书是由专门的权威的数字证书颁发机构在验证一个域名的信息之后所发行的数字网络证书,它可以很好地维护网络信息的安全,防止这些信息被第三方所截取或是窃听。 ssl认证指的是客户端到服务器端的认证,它主要是提供对用户以及服务器的认证,对传送的数据进行加密和隐藏,它能够确保数据在传送过程当中不被改变,对于数据的加密性、数据的完整性有一定保障。 https ssl证书颁发后都有一个有效期。有时证书没过期都会出现无效的情况,那可能是电脑系统的时间不对会导致证书过期,因为https ssl证书颁发都有颁发日期和截止日期的。电脑系统当中的时间在证书有效时间之外,就有可能导致浏览器提示网站安全证书过期。 关于SSL证书原理,其实在一个网站部署了SSL证书之后,就相当于为这个网址配置两把密钥,一把叫做公钥,另一把叫做私钥。公钥的作用就是在用户将自己的信息留在这个网站时为这些信息加锁的钥匙,加了锁之后,这些信息就不能被轻易的读取,除非有专门的钥匙打开。而这把打开这个锁的钥匙,就是另一把密钥,也就是私钥。只有这把对应的私钥才可以打开公钥部下的锁,因此在这两把密钥的作用下,可以使客户的信息数据在网站中安全的传入并安全的浏览,不会被他人截取。 一、作用

java:取范围内的随机数

。_饼干妹妹 提交于 2020-02-04 03:45:00
取范围内的随机数 关键词 相关说明 源码 运行结果 关键词 Math.random() 这个只是产生0···1之间的随机数,但可以在 0···1的基础上变为其它范围内的随机数。 s_0=num_0+(num_1-num_0)*random() 将0~1范围的随机数用加减乘除法变为其它范围的随机数。 random (随机的) 相关说明 随机数变为其它范围的解释: 我们都已知Math.random()是产生0···1的随机数。我可以在此基础上用乘法和减法把它的范围扩展到指定的范围。比如原本范围是0···1,我们对它乘10,范围就变为0···10,如果再加2,范围就变为2···12。若我们的目标是取一个10···50内的随机数,我们可以对应的定起始位置num_0=10,结束位置num_1=50,新的随机数命名为s_0,则 s_0=num_0+(num_1-num_0)*random() 这样,便可以将随机数0···1的范围变化为num_0···num_1范围了。这时如果Math.random()为0.5,则(num_1-num_0)乘0.5等于20,开始位置为10,随机数为10+20=30。 源码 class Demo { /** *创建一个方法way_0 *产生10~50的随机整数 *起始num_0=10 *结束num_1=50 */ public static int way_0 (

Excel生成随机数

最后都变了- 提交于 2020-02-03 00:30:53
Excel生成随机数 Excel 是如何生成随机数的?比如用什么方法可以让 Excel 生成一列限定了大小的随机数?比如如何生成 0-0.01 之间的随机数? 第一步:打开 Excel 工作表,在左上角的名称框中,输入生成随机数的区域,比如: A1:A100 ,按 Enter 键后,将 A1:A100 单元格区域处于选择状态(如下图): 第二步:输入公式“ =RANDBETWEEN(1,100)/10000 ”,然后按“ Ctrl + Enter ”组合键结束,这时候通过 RANDBETWEEN(1,100) 就生成了 1-100 之间的随机数,然后除以 10000 ,就得到 0-0.01 之间的随机数了(如下图): 第三步:但如果所用的 Excel 为 2003 以下的版本,则不支持 RANDBETWEEN 函数的使用,如果确实需要限定小数点的位数为 4 位,也可以将公式修改为 =ROUND(RAND()/100,4) ,也能得到 0-0.01 之间的随机数了(如下图): 来源: CSDN 作者: 机器视觉001 链接: https://blog.csdn.net/liubing8609/article/details/104147388

修改img的src属性刷新图片时,图片地址相同图片无变化的问题

橙三吉。 提交于 2020-02-02 09:35:47
问题 在使用ElementUI中el-upload插件进行图片的上传并预览时,在第二次选择图片覆盖第一次选择的图片时,图片被覆盖,但返回的图片地址相同,此时预览的图片没变化,依旧是被覆盖前的图片。 原因 这是由于图片地址没变化浏览器依旧使用之前缓存了的图片,不会做刷新。 解决方法 在修改img的src属性的时候加上一个随机数,让浏览器以为要做一次新的请求去获取图片。 upLoadImageSuccess ( res , file ) { this . course . image = res + '?' + Math . random ( ) ; } 然后在上传更新图片地址时,再去掉后面的随机数。 image : this . course . image . split ( '?' ) [ 0 ] 来源: CSDN 作者: Korb1n 链接: https://blog.csdn.net/MrKorbin/article/details/104134652

numpy模块

末鹿安然 提交于 2020-01-31 14:55:38
numpy 一、numpy介绍 1、随机数生成 2、数组与矩阵 一、numpy介绍 numpy(numerical python)是python科学计算的基本模块,2005年由Travis Oliphant开发。提供了一个N维数组类型ndarry的数据结构,提供了线性代数计算,傅里叶分析,随机数生成等。 1、随机数生成 import numpy as np a = np . random . normal ( 3 , 4 , 100 ) #100个正态分布N(3,4)的随机数 b = np . random . randint ( 0 , 5 , 10 ) #10个[0,4]之间均匀分布的随机整数 c = np . random . choice ( [ 1 , 2 , 3 ] , 100 , replace = True , p = [ 0.3 , 0.25 , 0.45 ] ) #生成100个服从下列分布的随机数 | 1 | 2 | 3 | | 0.3 | 0.25 | 0.45 | 2、数组与矩阵 #创建数组 import numpy as np x = np . array ( [ 1 , 2 , 3 , 4 ] ) #创建矩阵 vimport numpy as np y = np . matrix ( '1,3;7,9' ) #计算矩阵的行列式的值 z = np .

jack -复习for循环,学习随机数

﹥>﹥吖頭↗ 提交于 2020-01-31 10:30:35
# 用变量,for循环画一个五角星 in2 # 3rt Ins import random import turtle changdu = 100 jiaodu = 144 turtle . speed ( 0 ) for r in range ( 100 ) : x = random . randint ( - 350 , 350 ) y = random . randint ( - 350 , 350 ) turtle . penup ( ) turtle . goto ( x , y ) turtle . pendown ( ) for z in range ( 5 ) : turtle . forward ( changdu ) turtle . right ( jiaodu ) # pendown turtle . done ( ) import random # 产生0-1的随机小数 random随机的意思 a = random . random ( ) print ( a ) # 产生随机整数 b = random . randint ( 1 , 100 ) print ( b + a ) a = 1 b = 2 print ( 123 - b ) 来源: CSDN 作者: 少儿编程侯老师 链接: https://blog.csdn.net/houlaos