问题如下:

典型离散概率模型,每组池检测中,感染人数服从二项分布。
计算每一组测试的时间,求数学期望即可。
matlab代码如下:

%蒙特卡洛仿真新冠感染池检测选取最优池检测人数
%仿真时长约十几秒
N=100000;%仿真总人数
% N=30000;%仿真总人数
T_single=10;%单独检测时间
T_all=40;%群体检测时间
P_infect=0.005;%感染率
% P_infect=1/30;%感染率
N_infect=N*P_infect;%感染人数,需要是个整数
T0=N*T_single;%单独检测总时间
x=sparse(zeros(N,1));%模拟每个人,感染为1,没感染为0,用稀疏矩阵储存for i=1:N_infectwhile(1)%循环,随机让一个人感染index=randi(N);%产生一个随机数if x(index)==1%该人已感染,换一个continue;endbreak;endx(index)=1;%感染
endall_count=1:1000;%一次混合检测样本数量
T=[];
for j=1:size(all_count,2)%对每一个混合检测样本研究一下i=1;T(j)=0;%初始化时间while(1)iend=i+all_count(j)-1;%一段区间的最后if iend>N%超出总人数了iend=N;endinfectnum=sum(x(i:iend));%池检测一次感染人数T(j)=T(j)+T_all;%加上一次群体检测时间if infectnum>0%有一人感染T(j)=T(j)+T_single*(iend-i+1);%如果有人感染,需要对组内全部做单独检测endif iend==N%检测完了,结束break;endi=i+all_count(j);%区间向后end
endF_T_theory=@(n) (T_all.*(1-P_infect).^n+(T_single*n+T_all).*(1-(1-P_infect).^n))./n;%理论计算公式
T_theory=N.*F_T_theory(all_count);%计算理论时间plot(all_count,T,'linewidth',2);
hold on
plot(all_count,ones(size(all_count,2),1).*T0,'--','linewidth',2);
plot(all_count,T_theory,'--','linewidth',2);
xlabel("单次池检测人数/个")
ylabel("检测总时间/分钟")
legend("池检测","单独检测","池检测理论时间")
grid on
mincount=all_count(T==min(T))
mincount_theory=all_count(T_theory==min(T_theory))
title(sprintf("理论最优单次池检测人数%d,仿真人数%d,感染率%.4f",mincount_theory,N,P_infect))

结果:第一问理论一次30人,第二问可以用池检测,理论一次14人。
第一问运行结果图如下:

第二问运行结果图如下:

温馨提示:蒙特卡洛算法具有随机性,每次仿真的结果可能不一样。

新冠感染池检测选取最优池检测人数(概率模型理论公式+蒙特卡洛matlab仿真)相关推荐

  1. 秦川团队《科学》刊发研究:新冠感染恒河猴康复后不会再感染

    来源:澎湃新闻 新冠病毒(SARS-CoV-2)肺炎疫情全球大流行的背景下,恢复期患者是否有再次感染的风险目前尚不清楚.来自中国的最新科研成果表明,原发性新冠病毒感染可防止随后再感染,这对新冠患者的预 ...

  2. 新冠感染发病过程记录

    新冠感染发病过程记录 新冠感染发病过程记录 12月25~12月28期间 (第1天)12月28日 (第2天)12月29日 (第3天)12月30日 (第4天)12月30日 (第5天)12月31日 (第6天 ...

  3. 互联网晚报|12/27星期二| ​​国家卫健委:取消入境后全员核酸检测和集中隔离;新冠肺炎更名为新冠感染;知网回应被罚8760万...

    国务院联防联控机制:取消入境后全员核酸检测和集中隔离 国务院联防联控机制26日晚发布<关于对新型冠状病毒感染实施"乙类乙管"的总体方案>,方案提出,优化中外人员往来管理 ...

  4. 富士胶片消毒喷雾及湿巾证实可抑新冠感染;巴厘岛实施旅行健康安全新准则 | 美通企业日报...

    今日看点:富士胶片消毒喷雾及湿巾在日本证实可抑制新冠病毒感染.医疗服务机器人市场复合年增长率将达15.7%.巴厘岛实施旅行健康安全新准则.爱彼迎发布2021年旅行洞察.亚马逊全球开店中国发布2021年 ...

  5. 日本16岁编程少年,课余打造一款新冠感染追踪App

    梅宁航 发自 凹非寺 量子位 报道 | 公众号 QbitAI 前有库克钦点,8岁小朋友B站现场教叔叔阿姨编程,后有苹果将在WWDC现场举办学生编程比赛,不得不说,世界是后浪的,但终究是后后浪的. 少年 ...

  6. 中国各城市首轮新冠感染高峰期预测

    公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 近日,我对中国台湾地区.中国香港特别行政区和日本的感染情况与 "发烧" 搜索指数进行了分析,发 ...

  7. 那些酷炫的AI前沿应用 |〖医疗〗听声音辨新冠感染;〖农业〗除草机器人;〖救援〗无人机海上搜救;〖运动〗拳击比赛裁判;〖环保〗从废品中分拣可回收材料;〖招聘〗TaTiO招聘平台…

    汇总近期人工智能前沿应用,带你一览产业发展前沿,捕捉有价值的业务机会!

  8. 感染新冠后为啥会丧失​嗅觉?最新《细胞》论文终于搞明白了!

    感染新冠后,患者的一大症状就是会丧失嗅觉,然而这一症状背后的机理却始终没有得到阐明.日前,顶尖学术期刊<细胞>上的一篇论文,终于揭开了背后的谜底--原来新冠病毒会让嗅觉受体出现下调,使得人 ...

  9. 美应对核算试剂不足出新招!“说话检测”是咋回事?染新冠病毒

    据国外媒体报道,一个主要由卡耐基梅隆大学的研究人员组成的团队针对新冠病毒检测推出了一款新应用的早期版本,据他们称,该应用只需分析你的声音,就能判断你是否可能感染病毒. 卡内基梅隆大学研究生本杰明·斯特 ...

最新文章

  1. 浅析网站维护优化的必要性!
  2. 2021-9-下旬 数据结构-线性表- 栈 -java代码实现(复习用)
  3. Android应用开发提高系列(4)——Android动态加载(上)——加载未安装APK中的类...
  4. JLBH示例1 –为什么应在上下文中对代码进行基准测试
  5. java生成唯一有序序列号_分布式唯一 ID 之 Snowflake 算法
  6. POJ 1172 DFS
  7. 安装android sdk,后出现导出错误,提示命令行找不到解决方案
  8. 索引会自动更新吗_mysql的B+树中数据存放结构和索引常见问题你会吗?
  9. (十)java多线程之CountDownLatch
  10. 这本京东断货王的Python神书,刷爆整个编程圈!| 测评
  11. linux键盘映射默认,Linux 中的键盘映射【转】
  12. linux光纤盘刷新,Linux 在shell终端中清空DNS缓存,刷新DNS的方法(ubuntu,debian)
  13. 布线问题分支界限法求解
  14. CALLBACK / 回调(diao)
  15. 程序员健身了6个月,瘦了 30 斤,怎么做到的?
  16. 第二章 搭建Android开发环境
  17. Tp6 多应用下路由有些没有效果,这是为什么?
  18. 零基础,该选3D手绘低模还是次世代高模呢?
  19. Vue.js如何获得兄弟元素,子元素,父元素(DOM操作)
  20. tooth的用法_tooth是什么意思_tooth怎么读_tooth翻译_用法_发音_词组_同反义词_牙-新东方在线英语词典...

热门文章

  1. linux scp命令参数及用法详解--linux远程复制拷贝命令使用实例【转】
  2. Python 监控主机程序,异常后发送邮件(我的第一只Python程序)
  3. Java Programming Test Question 2
  4. 进程管理工具   htop
  5. 邮件系统IP被CBL列黑,怎么样里面申诉呢?
  6. php截取字符串,无乱码
  7. [转]解决eclipse-helios中Errors running builder Java...
  8. 152. 乘积最大子序列
  9. 9-3 数据分布概论
  10. 输出空格隔开换行_VB编程(六)数据输出 Print 及相关方法