标签:选择 size highlight 仿真 技术分享 应该 字符串 输出 sharp
1、
用模拟仿真的方法求解
clc clear tic n=0; N=100000; for ii=1:N b=‘MAXAM‘; %字符串格式 a=randperm(5); % b=[b(a(1)),b(a(2))];%选择两个字符,组成新的字符串 c=randperm(2); if (b(1)==b(c(1))) %通过坐标来确定字符串是否一致 n=n+1; end end rate=n/N; time=toc
运行时间0.3秒,概率约等于0.6
注意,如果某一句忘了加分号,有数据一直输出的话,时间如下
可以看出时间大大增加,所以跑大数据量程序时,避免不必要的输出。
2、
有100条龙,101条凤,102条凰,他们两两随机相碰,当同种动物相碰时不发生变化,当不同动物相碰时,自身消失,变成另外的一种动物,例如龙和凤相碰,变成凰。求最后剩下动物的概率。
clc clear tic c=zeros(1,101); N=100000; for ii=1:N m=100;n=101;p=102;%三种动物初始数据 while((m~=0)&&(p~=0))&&(n>=0)%条件的设置,正常应该设置为两两为0,第三个不为零,三种情况取或 %但我们经过分析后知道奇数的凤会最终留下,所以简化了条件 a=rand; b=m*n+n*p+m*p; if ((a>=0)&(a<(m*n/b)))%通过随机数模拟两两随机的概率比例 m=m-1; n=n-1; p=p+1;%凰加1 elseif ((a>=(m*n/b))&((a<(m*n+n*p)/b))) m=m+1; n=n-1; p=p-1;%龙加1 elseif ((a>=((m*n+n*p)/b))&((a<(m*n+n*p+m*p)/b))) m=m-1; n=n+1; p=p-1;%凤加1 end end c(n)=c(n)+1;%最后剩n个凤时的个数 end time=toc hist(c)
实验100000次剩余n只凤的个数。
标签:选择 size highlight 仿真 技术分享 应该 字符串 输出 sharp
原文地址:http://www.cnblogs.com/ruo-li-suo-yi/p/7780596.html