一个国家所有的家庭都喜欢男孩,如果生了女孩孩,就继续生,直到有一个男孩了为止,问最后这个国家男女比例会出现什么变化?

可以用matlab模拟验证,代码如下:

1.由于要进行抽样决定生男生女,所以首先需要定义一个抽样函数

——————————————————————————————————

function sampNum = samp(number, prob, n)

% 用一定的概率抽取一系列序号(有放回抽样)

% sampNum = samp(number, prob, n)

% number为一列序号,prob为相应的抽取概率(和不需要归一化),n为抽取序列的长度

% 如果prob=[],则为等概率抽样

% sampNum为抽取的序号数组

% 检查参数

number = number(:);

prob = prob(:);

numLen = length(number);

if isempty(prob)

prob =

ones(numLen, 1);

end

if numLen ~= length(prob)

error('the

size of prob is wrong')

end

% 抽取

sampNum = zeros(1, n);

randomDot = unifrnd(0, sum(prob), 1, n);

dividPoint = cumsum(prob);

for j = 1 : n

d =

randomDot(j) - dividPoint;

m = find(d

> 0);

sampNum(j) =

number( length(m) + 1 );

end

end

————————————————————————————————————

这个抽样函数的目的是进行随机抽样,可以保存在当前路径中。

2.然后在命令窗口中输入:

——————————————————————————————————————

numFamily =

1000; %设定模拟家庭的数量

bNum = zeros(1,

numFamily); %预先定义数组,保存每个家庭的男孩女孩数量

gNum = zeros(1, numFamily);

for i = 1 :

numFamily %开始模拟

boy = 0;

girl = 0;

while boy == 0

sampNum = samp([1 2], [], 1); %等概率抽样,抽到1生男孩,抽到2生女孩

if sampNum == 1

boy = boy + 1;

else

girl = girl + 1;

end

end

bNum(i) = boy;

gNum(i) = girl;

end

ratio = sum(bNum)/sum(gNum)

——————————————————————————————————————————

我模拟了1000个家庭,结果男女比例为0.99,意外么?

matlab面试问题,一道面试题的matlab模拟代码相关推荐

  1. 「每天一道面试题」下面的代码有问题吗?为什么?

    壹: short s1 = 1; s1 = s1 + 1; 贰: short s1 = 1; s1 += 1; 壹编译报错,因为壹中由于1是int类型,所以s1+1运算结果也是int型,需要强制转换类 ...

  2. (10)FPGA面试技能提升篇10(MATLAB)

    1.1 FPGA面试技能提升篇10(MATLAB) 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA面试技能提升篇10(MATLAB): 5)结束语. 1.1.2 ...

  3. 从一道面试题谈谈一线大厂码农应该具备的基本能力

    作者:Yura Shevchenko 来源:skypixel.com 关于一线码农的面试,我想说 求职面试在绝大部分人来说都是必不可少的,自己作为求职者也参与了不少面试(无论成功或者失败),作为技术面 ...

  4. 有的线程它死了,于是它变成一道面试题

    来自:why不止技术 有些线程它活着,但它躺在池中碌碌无为: 有的线程它死了,于是它变成一道面试题. 这次的文章,要从一次阿里巴巴的面试说起. 我记得那天是周一,刚刚经历过周末过的放松,干劲十足的我正 ...

  5. 最近刷爆朋友圈的一道面试题

    前言: 最近在网上有一道面试题掀起了劲爆的浪潮,好多家公司都模仿提问了这么一道面试题,而且好多人也都在讨论这道面试题要是自己回答的话该怎么回答!这道题也是在个网站上刷爆了. 面试题 如果不用Sprin ...

  6. (转)从一道面试题彻底搞懂hashCode与equals的作用与区别及应当注意的细节

    背景:学习java的基础知识,每次回顾,总会有不同的认识.该文系转载 最近去面试了几家公司,被问到hashCode的作用,虽然回答出来了,但是自己还是对hashCode和equals的作用一知半解的, ...

  7. 从一道面试题谈起,大厂到底看重程序员的什么能力?

    唐磊,他谦逊的自我介绍,是"在阿里云打工的清华学渣". 上周的一篇<字符串比较,居然暗藏玄机>,我最早是在唐磊<这10行比较字符串相等的代码给我整懵了>里看 ...

  8. h5 bootstrap 小程序模板_一道面试题小程序与H5的区别

    抛砖 此文是一道面试题,又不仅仅是一道面试题 面试题,在各个技术社区里都是一个永不落伍的话题,好像大多数人临面试前都会狂刷面试题,恨不得把所有面试题都看一遍,要说有用没,当然有用,因为大部分面试题确实 ...

  9. 线程执行一半断了_有的线程它死了,于是它变成一道面试题

    ----本文首发于公众号,关注文末公众号阅读体验更佳 有些线程它活着,但它躺在池中碌碌无为: 有的线程它死了,于是它变成一道面试题. 这次的文章,要从一次阿里的面试说起. 我记得那天是周一,刚刚经历过 ...

最新文章

  1. open python语言实现 pdf_使用python操作Pdf代码实现
  2. python散点图拟合曲线-【python常用图件绘制#01】线性拟合结果图
  3. 如何利用WebScarab绕过JS验证
  4. 双11成交多少和我无关,但这个魔性MV真的让我笑喷!
  5. 面试薪资这样谈,让你的月薪加倍!
  6. 前端面试题汇总(JS 基础篇)
  7. 应届生想要获取web前端开发岗位?这份技能攻略,面试攻略别错过
  8. 白话 Golang 协程池
  9. 49个Python的常见操作/技巧/例子
  10. SLAM_怎么评价slam建图效果
  11. 【STM32Cube_13】使用硬件I2C读写EEPROM(AT24C02)
  12. Oracle11g-linux安装
  13. Latex爬过的坑(2)——I was expecting a ‘,‘ or a ‘}‘
  14. [练气期]计算机视觉之从矩阵本质修炼图像几何变换秘籍
  15. 关于使用iframe登录超时,登录页内嵌在原页面
  16. Android fastboot 基本操作命令(Android 刷机)
  17. 纳米表征技术 2022.10.5
  18. android 4.0 bluetooth bt HFP/HSP分析
  19. pandas的apply方法基础使用
  20. 经纬度度分秒与十进制之间的转换

热门文章

  1. Car Key是什么?
  2. VLSI数字集成电路设计——CMOS
  3. [架构系列]互联网智能广告系统简易流程与架构
  4. 声音领域的算法库一般有librosa、essentia、torchaudio、深度学习等
  5. 行走职场,撞得头破血流才明白的10个道理,学会自己抬举自己
  6. 分析symbian软件总结笔记
  7. JAVA控制台注册用户
  8. php cs fixer 配置源代码
  9. 无人机核心技术之运动规划
  10. 认识c语言程序,C语言基础-认识C语言