matlab面试问题,一道面试题的matlab模拟代码
一个国家所有的家庭都喜欢男孩,如果生了女孩孩,就继续生,直到有一个男孩了为止,问最后这个国家男女比例会出现什么变化?
可以用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模拟代码相关推荐
- 「每天一道面试题」下面的代码有问题吗?为什么?
壹: short s1 = 1; s1 = s1 + 1; 贰: short s1 = 1; s1 += 1; 壹编译报错,因为壹中由于1是int类型,所以s1+1运算结果也是int型,需要强制转换类 ...
- (10)FPGA面试技能提升篇10(MATLAB)
1.1 FPGA面试技能提升篇10(MATLAB) 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA面试技能提升篇10(MATLAB): 5)结束语. 1.1.2 ...
- 从一道面试题谈谈一线大厂码农应该具备的基本能力
作者:Yura Shevchenko 来源:skypixel.com 关于一线码农的面试,我想说 求职面试在绝大部分人来说都是必不可少的,自己作为求职者也参与了不少面试(无论成功或者失败),作为技术面 ...
- 有的线程它死了,于是它变成一道面试题
来自:why不止技术 有些线程它活着,但它躺在池中碌碌无为: 有的线程它死了,于是它变成一道面试题. 这次的文章,要从一次阿里巴巴的面试说起. 我记得那天是周一,刚刚经历过周末过的放松,干劲十足的我正 ...
- 最近刷爆朋友圈的一道面试题
前言: 最近在网上有一道面试题掀起了劲爆的浪潮,好多家公司都模仿提问了这么一道面试题,而且好多人也都在讨论这道面试题要是自己回答的话该怎么回答!这道题也是在个网站上刷爆了. 面试题 如果不用Sprin ...
- (转)从一道面试题彻底搞懂hashCode与equals的作用与区别及应当注意的细节
背景:学习java的基础知识,每次回顾,总会有不同的认识.该文系转载 最近去面试了几家公司,被问到hashCode的作用,虽然回答出来了,但是自己还是对hashCode和equals的作用一知半解的, ...
- 从一道面试题谈起,大厂到底看重程序员的什么能力?
唐磊,他谦逊的自我介绍,是"在阿里云打工的清华学渣". 上周的一篇<字符串比较,居然暗藏玄机>,我最早是在唐磊<这10行比较字符串相等的代码给我整懵了>里看 ...
- h5 bootstrap 小程序模板_一道面试题小程序与H5的区别
抛砖 此文是一道面试题,又不仅仅是一道面试题 面试题,在各个技术社区里都是一个永不落伍的话题,好像大多数人临面试前都会狂刷面试题,恨不得把所有面试题都看一遍,要说有用没,当然有用,因为大部分面试题确实 ...
- 线程执行一半断了_有的线程它死了,于是它变成一道面试题
----本文首发于公众号,关注文末公众号阅读体验更佳 有些线程它活着,但它躺在池中碌碌无为: 有的线程它死了,于是它变成一道面试题. 这次的文章,要从一次阿里的面试说起. 我记得那天是周一,刚刚经历过 ...
最新文章
- open python语言实现 pdf_使用python操作Pdf代码实现
- python散点图拟合曲线-【python常用图件绘制#01】线性拟合结果图
- 如何利用WebScarab绕过JS验证
- 双11成交多少和我无关,但这个魔性MV真的让我笑喷!
- 面试薪资这样谈,让你的月薪加倍!
- 前端面试题汇总(JS 基础篇)
- 应届生想要获取web前端开发岗位?这份技能攻略,面试攻略别错过
- 白话 Golang 协程池
- 49个Python的常见操作/技巧/例子
- SLAM_怎么评价slam建图效果
- 【STM32Cube_13】使用硬件I2C读写EEPROM(AT24C02)
- Oracle11g-linux安装
- Latex爬过的坑(2)——I was expecting a ‘,‘ or a ‘}‘
- [练气期]计算机视觉之从矩阵本质修炼图像几何变换秘籍
- 关于使用iframe登录超时,登录页内嵌在原页面
- Android fastboot 基本操作命令(Android 刷机)
- 纳米表征技术 2022.10.5
- android 4.0 bluetooth bt HFP/HSP分析
- pandas的apply方法基础使用
- 经纬度度分秒与十进制之间的转换