计算机仿真的过程与方法

上传人:新** 文档编号:431044357 上传时间:2023-08-25 格式:DOC 页数:6 大小:66.50KB
返回 下载 相关 举报
计算机仿真的过程与方法_第1页
第1页 / 共6页
计算机仿真的过程与方法_第2页
第2页 / 共6页
计算机仿真的过程与方法_第3页
第3页 / 共6页
计算机仿真的过程与方法_第4页
第4页 / 共6页
计算机仿真的过程与方法_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《计算机仿真的过程与方法》由会员分享,可在线阅读,更多相关《计算机仿真的过程与方法(6页珍藏版)》请在金锄头文库上搜索。

1、通信系统仿真 实验报告姓名杨利刚班级A0811实验室203组号28学号28实验日期实验名称实验一 计算机仿真的过程与方法实验成绩教师签字一、实验目的1、掌握计算机仿真的一般过程2、掌握Matlab编程仿真的基本方法3、掌握动态系统模型的状态方程求解方法4、掌握基于概率模型的蒙特卡罗方法二、实验原理1、计算机仿真的一般过程通信系统的计算机仿真就是根据物理系统的运行原理建立相应的数学描述,并进行计算机数值求解的过程。系统的数学描述称为系统数学模型或仿真模型。为了对系统数学模型进行计算机数值分析,还需要将数学模型以某种计算机语言表达出来,然后进行调试、运行,最后得出数值结果。用计算机语言重新表达的数

2、学模型称为系统的计算机仿真模型。根据物理模型的不同特点、原理以及不同的系统仿真目标所得出的数学模型和相应求解算法也不尽相同。通信系统的计算机仿真过程往往是多种形式数学模型和各种算法综合的数值计算过程。对仿真模型和仿真结果的检验是仿真数据有效性的保证。通常的验证方法是证伪,而不是证实。通过模型的相互比较就能够查找出错误根源,进而改进和修正模型。2、基于动态系统模型的状态方程求解方法动态系统,就是有记忆系统的数学描述是状态方程。对动态系统建模,就是根据研究对象的物理模型找出相应的状态方程的过程。所谓对动态系统的仿真,就是利用计算机来对所得出的状态方程进行数值求解的过程。 3、基于概率模型的蒙特卡罗

3、方法对于不确定系统,使用基于概率模型的蒙特卡罗方法。蒙特卡罗方法是一种基于随机试验和统计计算的数值方法,也称计算机随机模拟方法或统计模拟方法。 蒙特卡罗方法的数学基础是概率论中的大数定理和中心极限定理。 大数定理指出,随着独立随机试验次数增加,试验统计事件出现的概率将接近于该统计事件的概率。蒙特卡罗方法的基本思想:当所求解问题是某种随机事件出现的概率,或某个随机变量的期望值时,通过某种实验的方法,以这种事件出现的概率来估计该随机事件的概率,或者得出这个随机变量的某些数字特征,并将其作为问题的解。如所求解的问题不是一个随机事件问题,那么可以通过数学分析方法找出与之等价的随机事件模型,然后再利用蒙

4、特卡罗方法去求解。在建模和仿真中,应用蒙特卡罗方法主要有两部分工作: 1)用蒙特卡罗方法模拟某一过程时,产生所需要的各种概率分布的随机变量。 2)用统计方法把模型的数字特征估计出来,从而得到问题的数值解,即仿真结果。三、实验内容1、在例题1.1中,如果考虑落体受到空气阻力,且阻力与下落速度成正比,试修改数学模型和相应的仿真程序。在考虑阻力的情况下,在相同高度同时下落的质量不同的物体仍然同时落地吗?请通过仿真验证并解释之。实验代码:% ch1example1prg1.mg=9.8; % 重力加速度k0=-1; %阻力系数m=1; %物体质量v=0; % 设定初始速度条件s=0; % 设定初始位移

5、条件t=0; % 设定起始时间dt=0.01; % 设置计算步长N=200; % 设置仿真递推次数. 仿真时间等于N与dt的乘积for k=1:N a=g+k0*v/m; %加速的计算 v=v+a*dt; % 计算新时刻的速度 s(k+1)=s(k)+v*dt; % 新位移 t(k+1)=t(k)+dt; % 时间更新end% 理论计算, 以便与仿真结果对照t_theory=0:0.01:N*dt; % 设置解析计算的时间点v_theory=g*t_theory; % 解析计算的瞬时速度s_theory=1/2*g*t_theory.2; % 解析计算的瞬时位移% 作图: 仿真结果与解析结果对

6、比t=0:dt:N*dt;plot(t,s,o, t_theory,s_theory, +);xlabel(时间 t); ylabel(位移 s);legend(仿真结果,理论结果); 运行结果:实验结论:通过实验数据的验证,从相同高度下落的物体,在考虑阻力的情况下,质量大的物体先落地。2、在例题1.1中,除了考虑落体受到空气阻力,如果再考虑空气对物体的浮力,那么如何进一步修改例题1.1中的数学模型和相应的仿真程序呢?请通过仿真验证你的模型并解释之。实验代码:% ch1example1prg1.mclear all,close all,clcg=9.8; % 重力加速度k0=-1; %阻力系数

7、m=1; %物体质量V=0.1 %物体体积p=1.29%空气密度v=0; % 设定初始速度条件s=0; % 设定初始位移条件t=0; % 设定起始时间dt=0.01; % 设置计算步长N=200; % 设置仿真递推次数. 仿真时间等于N与dt的乘积for k=1:N a=g+k0*v/m-p*V*g/m; %加速的计算 v=v+a*dt; % 计算新时刻的速度 s(k+1)=s(k)+v*dt; % 新位移 t(k+1)=t(k)+dt; % 时间更新end% 理论计算, 以便与仿真结果对照t_theory=0:0.01:N*dt; % 设置解析计算的时间点v_theory=g*t_theor

8、y; % 解析计算的瞬时速度s_theory=1/2*g*t_theory.2; % 解析计算的瞬时位移% 作图: 仿真结果与解析结果对比t=0:dt:N*dt;figure(1);plot(t,s,o, t_theory,s_theory, +);xlabel(时间 t); ylabel(位移 s);legend(仿真结果,理论结果);运行结果:实验结论:通过实验数据的验证,从相同高度下落的物体,在考虑阻力和浮力的情况下,相同质量的物体,体积大的后落地。3、请用解析法求出抛物线y=2-x2与y=0所围区域的面积表达式,然后采用蒙特卡罗方法仿真计算该区域的近似面积,并从仿真实验中观察随机试验次

9、数与仿真结果精度之间的大致关系。实验代码:% ch1example3prg1.mclear all,close all,clcx=-sqrt(2):0.01:sqrt(2);y=2-x.*x;% 计算半径为1的圆周上的点,以便作出圆周观察m=0; % 在圆内在落点计数器N=1000; % 设置试验次数x1=2*sqrt(2)*rand(N,1)-sqrt(2);% 产生均匀分布于-1, +1直接的两个独立随机数x1,y1y1=2*rand(N,1);for n=1:N % 循环进行重复试验并统计 p1=x1(1:n); q1=y1(1:n); if (2-x1(n)*x1(n)y1(n) %

10、计算落点到坐标原点的距离,判别落点是否在圆内 m=m+1; % 如果落入圆中,计数器加1 end %plot(p1,q1,.,x,y,-k,-2 -2 2 2 -2,-2 2 2 -2 -2,-k); plot(p1,q1,.,x,y,-k,-sqrt(2) sqrt(2) sqrt(2) -sqrt(2) -sqrt(2),0 0 2 2 0,-k); axis equal; % 坐标纵横比例相同 axis(-2 2 -0.7 2.2); % 固定坐标范围 text(-1,-0.2,试验总次数 n=,num2str(n);% 显示试验结果 text(-1,-0.4,落入圆中数 m=,num2str(m); text(-1,-0.6,近似圆面积 S_c=,num2str(m/n*4*sqrt(2); set(gcf,DoubleBuffer,on); % 双缓冲避免作图闪烁 drawnow; % 显示结果end运行结果:实验结论:通过对实验数据的综合分析,可以得出实验次数越多,结果将越精确。四、实验报告通过分析实验结果可知:从相同高度下落的物体,在考虑阻力的情况下,质量不同的物体不会同时落地。从相同高度下落的物体,在考虑阻力和浮力的情况下,相同质量的物体,不同体积落地时间先后不一样,体积小的落地。通过对实验数据的综合分析,可以得出实验次数越多,结果将越精确。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号