有趣的 MATLAB 程序们

时间:2024-03-07 12:47:25

1. 随机囧图

程序改编自《MATLAB高效编程技巧与应用》 1.2.3,作用是在界面上绘制各种大小颜色不一的囧字。送给某位叫做X囧的童鞋。
系统环境:    Window XP SP3;
软件版本:    Matlab 7.6.0.

↓↓↓ 点击此处查看源代码和图像 ↓↓↓

function RandomDisplayJiong()
close all;clear all;clc;
axis off; % 不显示坐标轴
set(gcf,\'color\',[0 0 0]); 
% 设置背景颜色为黑色
set(gcf,\'numberTitle\',\'off\',\'name\',\'随机囧图\'); % 标题控制
set(gcf,\'menubar\',\'none\',\'toolbar\',\'none\',\'Resize\',\'off\'); 
% 不显示 menubar 和 toolbar, 不可改变大小
for k = 1:100 % 100次循环
% 绘出一个"囧"字文本框, 色彩大小旋转随机
h = text(rand(),rand(),\'囧\',\'color\',rand(1,3),\'Rotation\',...
rand()*360,\'fontname\',\'隶书\',\'fontsize\',5+20*rand() );
pause(0.1); % 停顿0.1s
end
end





2. 概率题: 这么可爱一定是个男孩子

反正大概是在 Simwe 论坛上看到的帖子,说是 Google 公司的一道面试题目,题目如下: 在一个城市里(这个城市一定在中国吧),每个家庭都期待有一个男孩子,也就是说如果生下来是个女孩子,那么他们会继续生,直到生下一个男孩子。(某些运气不好的妈妈你要生多少次嘛)。而一旦生下一个男孩子,那么他们就不会继续生。请问,这个城市孩子男女比例是多少呢?

这个问题的吐槽不是这里要做的事情。这个题目还是很有趣的。概率解法如下: 假设这个城市有 N 个家庭,那么男孩子数量就是 N 个(每家一个,家家都有大家不要抢啦!) 然后计算孩子总人数,不失一般性,令每一次生下男孩的概率是 p ,这需要分 n 种情况累加,有:
总人数

所以男孩子占总孩子数的比例仍然是 p ,这个城市平均每个家庭会有两个孩子,而且不会发生男女比例失调的情况。挺好挺好,大多数情况下有个姐姐带着你宅男们,《俺妹》在文中所说的次元不存在!做个数值试验结果也挺吻合上面的结论。

↓↓↓ 点击此处查看源代码和图像 ↓↓↓

close all;clear all;clc;
N=[10 20 30 40 50 60 70 80 90 100 200 300 400 500 600 ...
	700 800 900 1000 2000 3000 4000 5000 8000 10000 20000 50000 100000];
for cases = 1:1:length(N)
p = 0.5; n = 100; sum(cases) = 0;
for ii = 1:N(cases)
	num = 1;
	for kk = 1:n
		if rand(1) > p 
			num = num+1;
		else
			break;
		end
	end
	sum(cases) = sum(cases) + num;
end
end
figure(1);
semilogx([10,100000],[1,1],\'r-\',\'linewidth\',2); hold on;
semilogx(N,N./sum+0.5,\'o-\',\'linewidth\',2,\'color\',[0 0 0.5],...
	\'MarkerFaceColor\',\'y\',\'MarkerEdgeColor\',[0,0.5,0]);
xlabel(\'实验样本家庭数\');
ylabel(\'男女比例\');

一开始还是很奇怪明明题目中表现出对男孩纸的偏爱,但无论是推算结果还是数值试验结果不表现出男孩纸的数量优势,这是为什么呢?

假如有一家灯泡店(咦为什么是灯泡店),每天有无数人路过,对于每一个人来说有 p   的概率进去买灯泡;我们可以假设有这样一个情景:过来一个人,过去了;又过来一个,什么也没有发生;又来了一个,对着灯泡店前面做展示的大灯泡梳了梳头...有限个人过去后,终于来了个人买灯泡。那么我们可以把这些人看做一个集合,他们就像是上面题目中的一家人,生了 n 个女孩纸之后终于买了个灯泡。然后无数这样的集合组成了这个奇妙的城市,总的生的女孩子数和买灯泡的人数之比仍然是 1-p:p   .

而对于原始题目而言,其实每一次生产都可以理想地看做是独立的。也就是说我们不用考虑有多少家庭,这个妈妈之前已经生了多少个女孩子什么的,我们只要知道这个城市会有好多好多好多次生产,每一次生产是独立的,无论采取何种策略(一定要个男孩纸,一定要一男一女啦什么的),也无论最后能否实现这种策略(一窝千金啦,只有御姐没有正太啦什么的),只要这个策略不影响到孩子的正常生产(比如是个女孩纸就打掉什么的),最终都不会导致男女比例失调。

其实这里想表达的中心思想是:生男生女都一样!

To be continued