资源预览内容
第1页 / 共28页
第2页 / 共28页
第3页 / 共28页
第4页 / 共28页
第5页 / 共28页
第6页 / 共28页
第7页 / 共28页
第8页 / 共28页
第9页 / 共28页
第10页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1 哈尔滨工业大学 仪器精度理论课程报告 Monte Carlo 模拟误差分析课程设计模拟误差分析课程设计 院 系: 电气学院 姓 名: 学 号: 15S001046 日 期: 2016.1.10 2 Monte Carlo 模拟误差分析课程设计模拟误差分析课程设计 1. 实验实验目的目的 1.1 学习并掌握 MATLAB 软件的基本功能和使用。 1.2 学习并掌握基于 Monte Carlo Method(MCM)分析的不确定度计算方法。 1.3 研究 Guide to the expression of Uncertainty in Measurement(GUM)法与 MCM 法的区 别与联系和影响因素,自适应 MCM 方法,基于最短包含区间的 MCM 法。 2. MATLAB 软件介绍软件介绍实验实验内容内容 2.1 介绍介绍 MATLAB 软件的基本知识软件的基本知识 MATLAB 名字由 MATrix 和 LABoratory 两词的前三个字母组合而成。20 世纪七十 年代,时任美国新墨西哥大学计算机科学系主任的 Cleve Moller 出于减轻学生编程负担 的动机,为学生设计了一组调用 LINPACK 和 EISPACK 矩阵软件工具包库程序的“通俗 易用”的接口,此即用 FORTRAN 编写的萌芽状态的 MATLAB MATLAB 语言的主要特点 (1). 具有丰富的数学功能 (2). 具有很好的图视系统 (3). 可以直接处理声言和图形文件。 (4). 具有若干功能强大的应用工具箱。 (5). 使用方便,具有很好的扩张功能。 (6). 具有很好的帮助功能 演示内容:演示内容: (1). MATLAB 的的数值数值计算功能计算功能 在“命令行”Command 提示窗口中键入: “A=eye(5,5);A=zeros(5,5);A=ones(5,5)” 等命令生成各类矩阵;在“命令行”Command 提示窗口中键入: “v,d=eig (A)”生成特 征矩阵和特征向量;在“命令行”Command 提示窗口中键入: “expm(A)”对矩阵 A 求 幂;在“命令行”Command 提示窗口中键入:x=1 3 5;y=2 4 6;z=conv(x,y);显示结 果:z = 2 10 28 38 30 (2). MATLAB 的符号计算功能的符号计算功能 在“命令行”Command 提示窗口中键入: syms a x;f=sin(a*x); df=diff(f,x); dfa=diff(f,a); 3 Command 提示窗口显示结果: df =cos(a*x)*a; dfa =cos(a*x)*x; 2.2 MATLAB 软件画图特性软件画图特性 (1). MATLAB 二维绘图 命令函数:plot 参数:线型、颜色、多重线、网格和标记、画面窗口分割、其他方式、隐函数的描绘) (2). MATLAB 三维画图 曲面与网格图命令函数:mesh 三维带阴影曲面图:surf 三维曲线命令:plot3 演示内容:演示内容: (1). MATLAB 的二维绘图功能的二维绘图功能 在命令行 Command 提示窗口中键入: close all; x=linspace(0, 2*pi, 100); % 100 个点的 x 座标 y=sin(x); % 对应的 y 座标 plot(x,y); 得到如下的结果: 01234567 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 图 1 在命令行 Command 提示窗口中键入: “plot(x, sin(x), x, cos(x);” 4 得到如下的结果: 01234567 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 图 2 在命令行 Command 提示窗口中键入: plot(x, sin(x), co, x, cos(x), g*); 得到如下的结果: 01234567 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 图 3 在命令行 Command 提示窗口中键入: 5 xlabel(Input Value); % x 轴注解 ylabel(Function Value); % y 轴注解 title(Two Trigonometric Functions); % 图形标题 legend(y = sin(x),y = cos(x); % 图形注解 grid on; % 显示格线 得到如下的结果: 01234567 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 Input Value Function Value Two Trigonometric Functions y = sin(x) y = cos(x) 图图 4 (2). MATLAB 的多的多维绘图功能维绘图功能 在命令行 Command 提示窗口中键入: X,Y = meshgrid(-3:0.125:3); % 生成二维网格点 Z = peaks(X,Y); % 生成某种内置函数 mesh(X,Y,Z); 得到如下的结果 6 -4 -2 0 2 4 -4 -2 0 2 4 -10 -5 0 5 10 图 5 其他的演其他的演示功能详见“示功能详见“MATLAB 画图文档”画图文档” 3. Monte Carlo 模拟误差分析的实验原理模拟误差分析的实验原理 在误差分析的过程中,常用的方法是通过测量方程推导出误差传递方程,再通过不 确定度的合成公式获得间接测量量的标准不确定度和扩展不确定度(GUM)。 在有些场合 下,测量方程较难获得,在这种情况下研究误差的特性就需要借助于模拟统计的方式进 行计算。Monte Carlo(MCM)法就是较为常用的数学工具,具体原理相见相关资料。 此次课程设计中按照实验要求产生的随机数可以模拟测量误差, 通过对这些随机数 的概率密度分布函数的面积、包络线和概率特征点的求取,可以获得随机误差的标准不 确定度(MCM), 并与理论上估计标准不确定度的 Bessel 公式、 极差法作(GUM) 比较,完成实验内容。并以此作为基础,分析 GUM 法与 MCM 法的区别与联系,影响 MCM 法的参数,自适应 MCM 法和基于最短包含区间的 MCM 法。 已知两项误差分量服从正态分布,标准不确定度分别为5 1 umV, 7 2 umV,用 统计模拟分析法给出两项误差和的分布(误差分布的统计直方图,合成的标准差,合成 的置信概率 P 为 99.73%的扩展不确定度)。 7 4. Monte Carlo 模拟误差分析的实验模拟误差分析的实验内容内容 4.1 实验一实验一:MCM 法与法与 GUM 法进行模拟误差分析和不确定度计算法进行模拟误差分析和不确定度计算 (1). 利用 MATLAB 软件生成0,1区间的均匀分布的随机数; (2). 给出误差分量的随机值: 利用 MATLAB,由均匀分布随机数 1 生成标准正态分布随机数 1 ,误差分量随机 数可表示为 1111 5umV; 同理得 2222 7umV (3). 求和的随机数:误差和的随机数 21 ; (4). 重复以上步骤,得误差和的随机数系列: iii21 ni, 2 , 1; (5). 作误差和的统计直方图:以误差数值为横坐标,以频率为纵坐标作图。作图区间应 包含所有数据,按数值将区间等分为m组(m尽可能大) ,每组间隔为,记数各区间 的随机数的数目 j n,以为底,以 n nj 为高作第j(mj2 , 1)区间的矩形,最终的m组 矩形构成误差和的分布直方图,该图包络线线即为实验的误差分布曲线。 (6). 以频率 k j j 1 n 99.73% n 为界划定区间,该区间半宽即为测量总误差的置信概率为 99.73%的扩展不确定度。 (7). 合成的标准不确定度: A. 总误差随机数平均值 n i i n 1 1 B. 各误差随机数的残差 ii v C. 按照 Bessel 公式估计标准不确定度 8 1 1 2 n v su n i i 实验流程图:实验流程图: 生成0,1区间均匀分布的随机数 利用Box-Muller方法生成 正态分布的随机数 根据各项误差的标准不确定度与正态分布 的随机数生成各项误差分量的随机值 获得误差和的随机值 获得误差和的直方图 计算99.73%的包罗面积对应的区间长度即 为误差和的标准不确定度并于理论计算值 比较,分析参数的变化对计算结果的影响 图 6 说明:说明: 本实验中随机数种子为 046。以下为 N 分别为 100000 点和 50000 点两种情况下, M 分别等于 N/5、N/2、N、2N、8N 五种情况下的模拟图像。 实验实验一一示例程序:示例程序: tic; clear;clc;close all; %设定参数值% %随机信号点数N,均值为1,标准差u1,u2% N=100000; M=N/5; x=0:1:M; x_=1:M; 9 u1=0.005; u2=0.007; %产生两个在(0,1)上服从均匀分布的,种子为046,每一次都相同的随机数X1和X2% rand(state,046); X1=rand(1,N); X2=rand(1,N); %按照Box-Mueller变换方法产生标准正态分布Y1和Y2% Y1=sqrt(-2*log(X1).*cos(2*pi*X2); Y2=sqrt(-2*log(X1).*sin(2*pi*X2); % 为做直方图先定义好X轴的坐标数据% delta1=u1*Y1; delta2=u2*Y2; delta=delta1+delta2; d_delta=(max(delta)-min(delta)/(M-1); %d_delta为误差分布的间距 delta_n=min(delta):d_delta:max(delta); %delta_n为误差分布序列 %作图% %高斯随机信号% figure(1), axis(0,N,-max(5*Y1),max(5*Y1) plot(Y1);grid on; figure(2), axis(0,N,-max(5*Y2),max(5*Y2) plot(Y2);grid on; % hold on % plot(x,0,k);grid on; % plot(x,1,r-);grid on; % plot(x,-1,r-);grid on; % hold on %变换为任意均值和方差的正态分布% %Z1=Sigma*Y1+Mu; %作图% %高斯随机信号% % subplot(2,2,2) % axis(0,N,-6,6) % plot(Z1);grid on; % hold on % plot(x,Mu,k); % plot(x,Mu+Sigma,r-);grid on; % plot(x,Mu-Sigma,r-);grid on; % hold on %正态分布误差1幅度直方图% figure(3) axis(-1,1,0,N) 10 hist(delta1,M);grid on; %正态分布误差2幅度直方图% figure(4) axis(-1,1,0,N) hist(delta2,M);grid on; %合成误差幅度直方图% figure(5) axis(-1,1,0,N) H=hist(delta,M); hist(delta
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号