logo资料库

电子科技大学数学实验第六次课上随机模拟实验及答案.pdf

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
6 随机模拟实验 6.1 基础训练 1. 随机变量 x 在区间[10,30]上均匀分布。编写一个语句模拟随机变量 x:产生 1000 个模拟 x 的随机数. 解: x=10+20*rand(1,1000) 或 x=unifrnd(10,30,1,1000) 2. 在矩形区域 D 内随机投点 5000 个, ,并绘制 投点效果图。 解: N = 5000; x=10*rand(1,N) y=20*rand(1,N) plot(x,y,'.') 3. 假设学生到达图书馆的间隔时间服从在区间[0, 5](单位:秒)上的均匀分布, 请编程产生 100 个学生的到达时刻。 解: arrival(1)= 5*rand; %产生第一个到达时刻 for i=2:100 %上一个达到时刻+间隔时间 arrival(i) = arrival(i-1) + 5*rand; end 4. 假设在某 30 分钟内学生到达图书馆的间隔时间服从在区间[0,5](单位:秒) 上均匀分布,请编程产生 30 分钟内所有到达图书馆的学生的到达时刻,并输 出到达人数. 解: clear all, arrival(1)= 5*rand; %产生第一个到达时刻 for i=2:10000 %上一个达到时刻+间隔时间 t = arrival(i-1) + 5*rand; %(单位:秒) if t < 30*60,%如果当前模拟的到达时刻 在30分钟内 arrival(i) = t; else break; end }200,100|),{(yxyxD
end sprintf('到达人数=%d',length(arrival)) 6.2 随机模拟求面积 一.实验任务 (一)请向四条直线 所围平面区域内随机投 10000 个点, 绘出投点,并统计在曲线 上方的点有多少(将结果赋值给变量 num)。 (二)请用蒙特卡罗法估算曲线 与曲线 所围区域面积。 其他要求: (1)编程绘出两条曲线,再计算出交点坐标; (2)将蒙特卡罗法的结果与精确解比较。 二. 实验目的 认识蒙特卡罗法的原理。 熟悉蒙特卡罗法的应用过程。熟悉蒙特卡罗法的算法框架及特点。 三. 实验过程 (一)问题一程序 N = 10000; x = 10*rand(1,N); y = 5*rand(1,N); plot(x,y,'.') idx=find(y>=abs(3*sin(x))); num=length(idx) %前2行可以用下列代码完成 num = sum(y>=abs(3*sin(x))) 运行结果: num = 6304 (二)问题二程序 % 提示:计算曲线交点A(-2,4),B(3,9)。 % 可用x=-2,x=3,y=0,y=9围成的矩形包含这个区域。再随机投点实验。 x=linspace(-2,3,50); y1=x.^2; y2=x+6; plot(x,y1,x,y2) set(gca,'fontsize',14) 5,0,10,0yyxx|sin3|xy2xy6xy
N = 10000; d = 9; m= 0; for i=1:N, x = -2+5*rand; y = d*rand; if y>=x^2 & y
请用蒙特卡罗法求解下列优化模型。 二. 实验目的 熟悉蒙特卡罗法求解优化问题的原理。 三. 实验过程 function testmain goodvalue = inf; N = 10000; for i=1:N x(1)=15*rand; x(2)=9*rand; x(3)=fix(26*rand); if fun(x)
分享到:
收藏