高斯分布和均匀分布之间的映射关系

step1 生成服从U(0,1)分布的u1,u2;

step2 令 y = [-2*ln(u1)]^0.5*sin(2*pi*u2);

step3 令 x = miu + y*delta,其中miu为均值,delta为标准差

代码:

clear all;
close all;
xaxis = -5:0.1:5;
%均值为1方差为1
miu = 1;
delta = 1;
PDFGaussian = 1/sqrt(2*pi*delta^2)*exp(-1/2*((xaxis - miu)/delta).^2);
CDFGaussian = 1/2*(1 + erf((xaxis - miu)/(sqrt(2)*delta)));
PDFGaussian_0 = 1/sqrt(2*pi*delta^2);
plot(xaxis,CDFGaussian,‘LineWidth‘,2);
hold on
plot(xaxis,PDFGaussian,‘LineWidth‘,2);
plot([xaxis(1),xaxis(end)],[0.5 0.5],‘r:‘,‘LineWidth‘,2);
plot([miu,miu],[0,1],‘r:‘,‘LineWidth‘,2);
plot([xaxis(1),xaxis(end)],[PDFGaussian_0,PDFGaussian_0],‘r:‘,‘LineWidth‘,2);
title(‘Gaussian Distribution‘)
xlabel(‘Random variable‘)
ylabel(‘PDF and CDF‘)
N = 100000
u1 = rand(1,N);
u2 = rand(1,N);
y = (-2*log(u1)).^0.5.*sin(2*pi*u2);

var = miu + delta*y;
[sum,loc] = hist(var,100);
prob = sum/N;
prob = [0, prob, 0];
step = loc(2) - loc(1);
loc = [loc(1)-step/2, loc, loc(end)-step/2];
prob = cumsum(prob);
plot(loc,prob,‘g*‘);
legend(‘Theoretical CDF‘,‘Theoretical PDF‘,‘data‘,‘data‘,‘data‘,‘Simulated CDF‘);

  

时间: 2024-08-25 07:37:22

高斯分布和均匀分布之间的映射关系的相关文章

一步一步学EF系列【2、Fluent API的方式来处理实体与数据表之间的映射关系。】

EF里面的默认配置有两个方法,一个是用Data Annotations(在命名空间System.ComponentModel.DataAnnotations;),直接作用于类的属性上面,还有一个就是Fluent API,通过新增相应的配置类来覆盖默认配置另外.我们主要学习Fluent API,Data Annotations可以自行去学习一下. 补充一下为什么要用Fluent API 使用DataAnnotation非常简单,但对于EntityFramework中的特性,就要在实体类中引入Ent

Hibernate基本配置:类与表之间的映射关系

只介绍用Annotation的方式进行映射关系的配置. 1. 如果表名与对象名不一致,则要对表名进行配置. 使用@Table 2. 如果字段名与属性名不一致. 使用@Column 3. 不需要persistentence的字段 使用@Persistentence 4.映射日期与时间类型,指定时间精度 使用@Temporal 默认会直接记录日期与时分秒,可以进行定制. @Temporal(TemporalType.?),?可以取3个值,DTAE(只记录日期),TIME(记录时分秒),TIMESTA

修改Linux主机名与IP之间的映射关系

linux主机版本: Distributor ID: UbuntuDescription: Ubuntu 14.10Release: 14.10 一.修改linux主机名 1.使用hostname命令可以查看当前主机名 2.在 /etc/hostname文件中修改主机名后保存(有的版本在/etc/sysconfig/network中修改主机名) 二.修改主机名与IP之间的映射 在/etc/hosts中修改主机名和IP之间的映射 完成这两部之后重启系统. 然后使用命令ping新的主机名 发现主机名

windows server/windows同一系统下建立两个目录之间的映射关系

应用场景,如下: 当两个不同的项目共享同一个资源目录.同一个数据库时,由于两项目根目录不一样,再加上部分项目可能有入口重写规则限制了用户的访问权限. 因此,我们可以利用window 服务器给我们提供的mklink命令来建立两个项目资源目录的映射关系. 使用步骤: 1)进入cmd命令行模式 2)在cmd里面输入: mklink /J "D:\back1" "D:\back" 注意:执行的时候,back1 文件夹必须不存在:必须在NTFS 盘上进行才可以. 实质是,创建

中间人攻击——ARP欺骗 就是中间人攻击 利用报文欺骗并修改IP和mac地址之间的映射关系 让传送数据的地址失效

中间人攻击——ARP欺骗的原理.实战及防御 0x01 网关是啥? 网关是工作在OSI七层模型中的传输层或者应用层,用于高层协议的不同 网络之间的连接,网关就好比一个房间通向另一个房间的一扇门. 0x02 ARP协议 ARP(Address Resolution Protocol)地址转换协议,工作在OSI模型的数据链路层,在以太网中,网络设备之间互相通信是用MAC地址而不是IP地址,ARP协议就是用来把IP地址转换为MAC地址的.而RARP和ARP相反,它是反向地址转换协议,把MAC地址转换为I

ABP文档 - 对象与对象之间的映射

文档目录 本节内容: 简介 IObjectMapper 接口 集成 AutoMapper 安装 创建映射 自动映射的特性 自定义映射 扩展方法 MapTo 单元测试 预定义的映射 LocalizableString -> string 注入 IMapper 简介 把一个对象映射到另一个相似的对象很常见,两个对象(类)具有相似或相同的属性,它们之间要互相映射,其实这项工作重复且无聊,考虑一个典型的应用服务方法,如下: public class UserAppService : Applicatio

注册URL模式与HttpHandler的映射关系

注册URL模式与HttpHandler的映射关系 ASP.NET Core的路由是通过一个类型为RouterMiddleware的中间件来实现的.如果我们将最终处理HTTP请求的组件称为HttpHandler,那么RouterMiddleware中间件的意义在于实现请求路径与对应HttpHandler之间的映射关系.对于传递给RouterMiddleware中间件的每一个请求,它会通过分析请求URL的模式并选择并提取对应的HttpHandler来处理该请求.除此之外,请求的URL还会携带相应参数

ASP.NET Core的路由[1]:注册URL模式与HttpHandler的映射关系

ASP.NET Core的路由是通过一个类型为RouterMiddleware的中间件来实现的.如果我们将最终处理HTTP请求的组件称为HttpHandler,那么RouterMiddleware中间件的意义在于实现请求路径与对应HttpHandler之间的映射关系.对于传递给RouterMiddleware中间件的每一个请求,它会通过分析请求URL的模式并选择并提取对应的HttpHandler来处理该请求.除此之外,请求的URL还会携带相应参数,该中间件在进行路由解析过程中还会根据生成相应的路

Hibernate的七种映射关系之七种关联映射(二)

继续上篇博客 七.Hibernate双向一对多关联映射:让多的一端来维护关系. 主要是解决一对多单向关联的缺陷,而不是需求驱动的. 1.在Student.java实体类里添加Classes引用.private Classes classes; 2.Student.hbm.xml里添加many-to-one标签:<many-to-one name="classes" column="classesid"/>.Classes.hbm.xml在例子(六)里的那