这次的任务是复现该文章的图2(C),过程如下。

①翻译了整篇文章,断断续续,花了3-4天时间。

②阅读文章,并且记录下每个符号的意义,记在单独的1个word文档里。

③开始编程,用的matlab2018b。

 clc;clear
%%这个文件,是最终版本,
%% 此版块内,n=,N由1到10,间隔为1,
%%(i+0.5)*deierka)这一行,中的i有问题,已经用平移量解决.
%%
kesai=0.1; %过量噪声
seigema=sqrt(+kesai);
b_lim=*seigema; % a_lim用于后面计算S的过程里,就是区间长度的1半,根据文章来的。
length=; %产生随机数组的次数,即100
for n=:: %外层循环是n的循环,n是零差检测精度
i_min=-^(n-);i_max=^(n-)-;
PingYi=-i_min; %为了把角标变为正数,所用的平移量。比如要把-8到7平移成1到16,那么平移量就是1-(-)=
for N=0.1:0.1: % 内层循环是N的循环,N采样范围
deierka=N/^(n-); m=; %是间隔,m用于计算后面的a_ba
%%这一块在计算P和H
for i=:i_max-i_min+
a(i)=-N+(i-)*deierka; %deierka就是步进间隔
end
for i=:i_max-i_min+
if i==
P(i)=(/)*erfc((N-0.5*deierka)/(sqrt()*seigema));
elseif i>&&i<i_max-i_min+
P(i)=(/)*erf(((i-PingYi+0.5)*deierka)/(sqrt()*seigema))-(/)*erf(((i-PingYi-0.5)*deierka)/(sqrt()*seigema));
elseif i==i_max-i_min+
P(i)=(/)*erfc((N-1.5*deierka)/(sqrt()*seigema));
end
end
index=int8(*N);
H(index)=; R(index)= %清零操作
for i=:i_max-i_min+
diedai=P(i)*log2(P(i))
if P(i)==
diedai=;
end
H(index)=H(index)-diedai;
end
%% 这一块在计算S(a:E)
b_min_buf=; b_max_buf=; b_ba_buf=;
buffer1=; buffer2= % 两个buffer用于计算式子C.3中的两个求和
for k=:length
b=-b_lim+*b_lim*rand(,);
b_min_buf=b_min_buf+min(b); b_max_buf=b_max_buf+max(b);
b_ba_buf=b_ba_buf+mean(b);
end
b_min=b_min_buf/length; b_max=b_max_buf/length;
b_ba=mean(a);
for i=:i_max-i_min %不从1开始。另外,倒数第二个是结尾
if a(i)<=b_ba
buffer1=buffer1+P(i)*(a(i)-b_ba-0.5*deierka)^;
else
buffer2=buffer2+P(i)*(a(i)-b_ba+0.5*deierka)^;
end
end
Vx_ba(index)= P()*(b_min-b_ba)^+P(i_max-i_min+)*(b_max-b_ba)^+buffer1+buffer2;
S(index)=((Vx_ba(index)+)/)*log2((Vx_ba(index)+)/)-((Vx_ba(index)-)/)*log2((Vx_ba(index)-)/);
% 这一块在计算R,
R(index)=H(index)-S(index); end
t=0.1:0.1:;
if n==
plot(t,R,'r*');
end
if n==
plot(t,R,'*');
end
if n==
plot(t,R,'d');
end
if n==
plot(t,R,'p');
end
legend('n=4','n=8','n=12','n=16');
xlim([,]);ylim([,]);
xlabel('Sample range');
ylabel('R_dis(ai:E');
hold on
end
grid

④在码代码的过程中,有以下几个要注意的地方:

(1)图2C的横坐标是从1到10,不是0到10。

(2)文章里的i是可以取负数的,比如n=4时,i就是从-8到7,但是matlab中的数组下标必须是正的,所以在用式子(10)的时候,需要平移,使得i为正数。

(3)matlab在计算A=P*log2(P)这种时,如果P=0,那么A=NaN,正无穷。因此我的代码里在计算P(也就是文章里的H时,我让,if P(i)=0,则迭代量等于0),如果不这么做,那么H会等于正无穷,

这个问题困扰了我很久,解决它之前,当n=8,N=9时,我的H就等于正无穷,而n=8,N=8时,我的H就等于1个有限值。

(4)注意代码里的b_lim到底取几倍的seigema,这个影响挺大的,我最后卡了很久,终于是发现,就是b_lim在影响我的曲线,一调对了b_lim,我的曲线就跟图2C长得差不多了。

⑤ 原文,翻译,术语符号集合,还有程序,我已经上传至百度云。

[复现论文程序图]High Speed Continuous Variable Source-Independent Quantum Random Number Generation的更多相关文章

  1. 【转帖】远程显示(操作) 服务器 GUI 程序(图形化界面) (基于 X11 Forwarding + Centos + MobaXterm)

    远程显示(操作) 服务器 GUI 程序(图形化界面) (基于 X11 Forwarding + Centos + MobaXterm) https://zhuanlan.zhihu.com/p/310 ...

  2. Variable|quantitative variables|continuous variable|discrete variable|qualitative variables| observation|data set

    2.1Variables and Data Variable:某物或某人的某一特征和其他个体不同. quantitative variables:定量变量either discrete (可以被数)o ...

  3. 论文解读(MPNN)Neural Message Passing for Quantum Chemistry

    论文标题:DEEP GRAPH INFOMAX 论文方向:  论文来源:ICML 2017 论文链接:https://arxiv.org/abs/1704.01212 论文代码: 1 介绍 本文的目标 ...

  4. 论文结果图:matplotlib和seaborn实现

    在论文中,可视化结果往往很重要,毕竟文字太抽象,需要图片向审稿人直观的展现出我们的结果.我也写了俩篇论文和一篇专利的申请,其中也有一些画图的程序,因此记录,防止以后忘了.由于篇幅原因,文章就不贴代码, ...

  5. word论文之图和表目录制作

    https://jingyan.baidu.com/article/91f5db1b3c539f1c7e05e341.html?qq-pf-to=pcqq.c2c 1.目标: (1)图目录. (2)表 ...

  6. 远程显示(操作) 服务器 GUI 程序(图形化界面) (基于 X11 Forwarding + Centos + MobaXterm)

    在做 数据分析(数据挖掘 或 机器学习)的时候,我们经常需要绘制一些统计相关的图表,这些统计.绘图的程序常常是跑在服务器上的,可是服务器出于性能和效率的考虑,通常都是没有安装图形化界面的,于是这些统计 ...

  7. 论文笔记之:Speed Up Tracking by Ignoring Features

    Speed Up Tracking by Ignoring Features CVPR 2014 Abstract:本文提出一种特征选择的算法,来实现用最"精简"的特征以进行目标跟 ...

  8. Matlab调用遗传工具箱复现论文模型求解部分

    原文转载自:https://blog.csdn.net/robert_chen1988/article/details/52431594 论文来源: https://www.sciencedirect ...

  9. sql server2016安装程序图

    今天终于有时间安装SQL Server2016正式版,下载那个安装包都用了一个星期 安装包可以从这里下载: http://www.itellyou.cn/ https://msdn.microsoft ...

随机推荐

  1. Web前端助手-功能丰富的Chrome插件

    整合优秀的前端实用工具.免费,可配置的强大工具集 示例 安装 github仓库: https://github.com/zxlie/FeHelper 官网地址:https://www.baidufe. ...

  2. XGBoost: 你不能不知的机器学习算法

    XGBoost作为一个非常常用的算法,我觉得很有必要了解一下它的来龙去脉,于是抽空找了一些资料,主要包括陈天奇大佬的论文以及演讲PPT,以及网络上的一些博客文章,今天在这里对这些知识点进行整理归纳,论 ...

  3. shark恒破解笔记5-VB之rtcMsgBox

    本次是来破解一个名为”系统提速精灵“的软件,方法是对rtcMsgBox下断点. 运行程序输入假码,会提示“注册码错“ 在oep上面可以看到大量vb引擎函数  明显的VB程序 载入OD对rtcMsgBo ...

  4. phpstorm 设置换行符的格式

    菜单 >  文件 > 设置

  5. [Luogu2422]良好的感觉

    题目描述 kkk做了一个人体感觉分析器.每一天,人都有一个感受值Ai,Ai越大,表示人感觉越舒适.在一段时间[i, j]内,人的舒适程度定义为[i, j]中最不舒服的那一天的感受值 * [i, j]中 ...

  6. 一文了解Mysql

    文章原创于公众号:程序猿周先森.本平台不定时更新,喜欢我的文章,欢迎关注我的微信公众号. Redis系列到上一篇已经全部结束了,从本篇开始进入Mysql系列文章专题.本篇作为Mysql系列专题的开篇文 ...

  7. Ubuntu 19.10 发布 | 云原生生态周报 Vol. 24

    作者 | 木苏.进超.冬岛.元毅.心水.衷源 业界要闻 1.云原生编程语言 Pulumi 1.0 pulumi ,一款中立的开源云开发平台,Pulumi 支持多语言.混合云环境.完全可扩展.初期支持 ...

  8. Qualcomm-Atheros-QCA9377-Wifi-Linux驱动

    资源来自:https://download.csdn.net/download/ichdy/10331646 已经下载好了,发现无法使用,本人系统Centos7.2,如果有安装成功,并且可以正常使用的 ...

  9. ES常用操作备忘

    格式:<REST Verb>/<Index>/<Type>/<ID> 集群健康:curl -u lases:1fw@2soc#3vpn -XGET 'l ...

  10. 思科Cisco 交换机 VTP负载均衡的配置

    思科Cisco 交换机 VTP负载均衡的配置 3560三层交换机配置: int ran fa0/23 - fa0/24 sw trunk encapsolution dot1q sw mode tru ...