计算机仿真的过程与方法_第1页
计算机仿真的过程与方法_第2页
计算机仿真的过程与方法_第3页
计算机仿真的过程与方法_第4页
计算机仿真的过程与方法_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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中的数学模型和相应的仿真程序呢?请通过仿真验证你的模型并解释之。实验代码:% ch1exa

7、mple1prg1.mclear all,close all,clcg=9.8; % 重力加速度k0=-1; %阻力系数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% 理论计算, 以

8、便与仿真结果对照t_theory=0:0.01:n*dt; % 设置解析计算的时间点v_theory=g*t_theory; % 解析计算的瞬时速度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('仿真结果','理论结果');运行结果:实验结论:

9、通过实验数据的验证,从相同高度下落的物体,在考虑阻力和浮力的情况下,相同质量的物体,体积大的后落地。3、请用解析法求出抛物线y=2-x2与y=0所围区域的面积表达式,然后采用蒙特卡罗方法仿真计算该区域的近似面积,并从仿真实验中观察随机试验次数与仿真结果精度之间的大致关系。实验代码:% 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

10、);% 产生均匀分布于-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) % 计算落点到坐标原点的距离,判别落点是否在圆内 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

11、(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运

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论