编写一个matlab程序,一个人写了n封信,又写了n个信封,随机把信放到信封里,求至少一封信放对的概率p

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/03 15:49:14
编写一个matlab程序,一个人写了n封信,又写了n个信封,随机把信放到信封里,求至少一封信放对的概率p

编写一个matlab程序,一个人写了n封信,又写了n个信封,随机把信放到信封里,求至少一封信放对的概率p
编写一个matlab程序,一个人写了n封信,又写了n个信封,随机把信放到信封里,求至少一封信放对的概率p

编写一个matlab程序,一个人写了n封信,又写了n个信封,随机把信放到信封里,求至少一封信放对的概率p
第一个问题的答案如下,第二个问题还是没有看明白你的要求,你最好把公式变成个图片插入进来,或者你看看能不能根据第一个问题的程序,自己尝试解决一下第二个问题,积分可以用求和来近似表示.
% 这段程序得到n=10时,对应的Pn
clear;
clc;
n=10
sum_right=0; %投递2000次中,至少有一封信投递正确的次数,初始值为零
for ii=1:2000
a1=1:n; %数组a1中依次存放的是n个信箱号,从1到n
[a,a2]=sort(rand(1,n));
%用随机数函数rand产生一个随机序列,然后从小到大排序,大小顺序号存放到数组a2中
num_right=sum(a1==a2);
%依次比较数组a1和a2中的每个元素,如果相同则为1,不同则为0,num_right中计算1的个数,即为投递正确的个数
if num_right>0 %如果num_right>0则说明至少有一封信投递正确了
sum_right=sum_right+1;
end
end
Pn=sum_right/2000 %得到Pn
% 这段程序得到n从2到50时,求出每个n对应的Pn,并绘制散点图
nn=2:50;
Pnn=zeros(1,length(nn));
for jj=1:length(nn)
n=nn(jj);
sum_right=0;
for ii=1:2000
a1=1:n;
[a,a2]=sort(rand(1,n));
num_right=sum(a1==a2);
if num_right>0
sum_right=sum_right+1;
end
end
Pnn(jj)=sum_right/2000;
end
figure
plot(nn,Pnn,'*')%绘制散点图
这是我得到的图片.由于是随机数,每次运行的结果可能不一样.追问第二个问题就是e的(X的平方)次方从0到1的积分以及sinx除以x的从0到1的积分,模拟4万次.这个我从没学过matlab,所以才求帮助啊,请这位大神帮帮忙~回答要是这样的话,第二题就比较简单了.
% 下面这段程序求解e的(x^2)次方在(0,1)的积分
clear;
clc;
sum_1=0;
for i=1:40000
x1=rand; %产生一个随机数
sum_1=sum_1+exp(x1^2);
end
result_1=sum_1/40000
%result_1即为e的(x^2)次方积分的结果,用40000个随机数的函数值的平均数来近似表示
% 下面这段程序求解sin(x)/x在(0,1)的积分
sum_2=0;
for i=1:40000
x2=rand;%产生一个随机数
sum_2=sum_2+sin(x2)/x2;
end
result_2=sum_2/40000
%result_2即为sin(x)/x积分的结果,用40000个随机数的函数值的平均数来近似表示

编写一个matlab程序,一个人写了n封信,又写了n个信封,随机把信放到信封里,求至少一封信放对的概率p matlab用M脚本文件 编写根号n的程序 编写程序,输入一个正整数n(1 编写程序,输入一个正整数n(1 用matlab编写一个程序:求出200以内的质数, 求用MATLAB编写空间梁的单元刚度矩阵和整体刚度矩阵的程序最近有一个作业是用MATLAB编写程序计算空间梁,单我不知道如何写求刚度矩阵的程序, 一、 编写程序,从键盘输入一个整数N(N 编写MATLAB程序.能够将x[n]以N = 8为周期进行周期延拓得到一个周期为N =8的周期序列y[n]编写MATLAB程序Program2_3,能够将x[n]以N = 8为周期进行周期延拓得到一个周期为N =8的周期序列y[n],并分别绘制x[ 求编写一个matlab程序程序能产生两个随机变量,并满足二者正交. kalman滤波的matlab程序应该如何编写?能给我一个参考程序么, 用C语言编写一个程序:从键盘输入n(0 用C语言编写程序,输入一个正整数n(1 用MATLAB编写程序,计算 1+3+5+7+…+(2n+1)的值. 编写MATLAB程序实现多项式拟合 在Matlab里编写程序绘制下图: 编写程序从n(20 编写一个matlab程序,但是算出了的结果不是一个数值,而是一大堆算式……具体程序如下i%给圆心(a,b)返回安全系数Kfunction output=damnk(a,b)syms cita h r c gama fi n i Tn Rn jiajiao l z n1cita=50;h=50;c=20;gama=1 matlab 编写一个程序实现十进制数转换为二进制数?