模擬誤差分析課程設計_第1頁
模擬誤差分析課程設計_第2頁
模擬誤差分析課程設計_第3頁
模擬誤差分析課程設計_第4頁
模擬誤差分析課程設計_第5頁
已閱讀5頁,還剩17頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、MonteCarlo模擬誤差分析課程設計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.MonteCarlo模擬誤差分析的實驗原理在誤差分析的過程中,常用的方法是通過測量方程推導出誤差傳遞方程,再通過不確定度的合成公式獲得間接測量量的標準不確定度和擴展不確定度(GUM)。在有

2、些場合下,測量方程較難獲得,在這種情況下研究誤差的特性就需要借助于模擬統計的方式進行計算。Monte Carlo(MCM)法就是較為常用的數學工具,具體原理相見相關資料。此次課程設計中按照實驗要求產生的隨機數可以模擬測量誤差,通過對這些隨機數的概率密度分布函數的面積、包絡線和概率特征點的求取,可以獲得隨機誤差的標準不確定度(MCM),并與理論上估計標準不確定度的Bessel公式、極差法作(GUM)比較,完成實驗內容。并以此作為基礎,分析GUM法與MCM法的區別與聯系,影響MCM法的參數,自適應MCM法和基于最短包含區間的MCM法。已知兩項誤差分量服從正態分布,標準不確定度分別為mV,mV,用統

3、計模擬分析法給出兩項誤差和的分布(誤差分布的統計直方圖,合成的標準差,合成的置信概率 P為99.73%的擴展不確定度)。3.MonteCarlo模擬誤差分析的實驗內容3.1 MCM法與GUM法進行模擬誤差分析和不確定度計算(1). 利用MATLAB軟件生成0,1區間的均勻分布的隨機數;(2). 給出誤差分量的隨機值:利用MATLAB,由均勻分布隨機數生成標準正態分布隨機數,誤差分量隨機數可表示為mV;同理得 mV(3). 求和的隨機數:誤差和的隨機數;(4). 重復以上步驟,得誤差和的隨機數系列:;(5). 作誤差和的統計直方圖:以誤差數值為橫坐標,以頻率為縱坐標作圖。作圖區間應包含所有數據,

4、按數值將區間等分為組(盡可能大),每組間隔為,記數各區間的隨機數的數目,以為底,以為高作第()區間的矩形,最終的組矩形構成誤差和的分布直方圖,該圖包絡線線即為實驗的誤差分布曲線。(6). 以頻率為界劃定區間,該區間半寬即為測量總誤差的置信概率為99.73%的擴展不確定度。(7). 合成的標準不確定度:A. 總誤差隨機數平均值B. 各誤差隨機數的殘差C. 按照Bessel公式估計標準不確定度 實驗流程圖:圖6實驗說明:本實驗中隨機數種子為31。以下為N分別為100000點和500000點兩種情況下,M分別等于N/10、N/5、N/2、N、2N、5N六種情況下的模擬圖像。實驗程序:tic;clea

5、r;clc;close all;bdclose all;%設定參數值%隨機信號點數N,均值Mu,標準差Sigma%N=105;Mu=1;Sigma=2;M=N/10;x=0:1:M;x_=1:M;u1=0.005;u2=0.007;%產生兩個在(0,1)上服從均勻分布的,種子為31,每一次都相同的隨機數X1和X2%rand('state',31);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*

6、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

7、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-S

8、igma,'r-');grid on;% hold on%正態分布誤差1幅度直方圖%figure(3)axis(-1,1,0,N)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,M);grid on;%畫包絡線%figure(6)HH=envelope(x_,H);plot(delta_n,HH,'b:');grid on;h

9、old on;%計算直方圖的面積%S=sum(d_delta*abs(H);% 計算直方圖的面積%s_1表示正向直方圖的每一個單元的面積%s_2表示反向直方圖的每一個單元的面積%s_表示正反向兩兩對稱每一對單元的面積%area表示以中心為對稱軸的累加面積i=1:1:M/2;s_1(i)=d_delta*abs(floor(H(floor(M/2+i);s_2(i)=d_delta*abs(floor(H(floor(M/2-i+1);s_(i)=s_1(i)+s_2(i);area(1)=s_(1);for ii=1:M/2-1area(ii+1)=area(ii)+s_(ii);end% 計

10、算99.73%的直方圖面積for iii=1:M/2; area(iii);if (area(iii)-0.9973*S)>=0; breakendendplot(delta_n(M/2-iii+1),delta_n(M/2+iii),H(M/2-iii),H(M/2+iii),'ro');grid on; delta_n_u=(delta_n(floor(M/2+iii)-delta_n(floor(M/2-iii+1)/6;%理論計算標準不確定度%delta_mean=mean(delta);delta_cancha=delta-delta_mean;s=sqrt(s

11、um(delta_cancha.2)/(N-1);%toc;程序運行結果(1)當N=100000,M=N/10時:Figure 1Figure 2Figure 3Figure 4Figure 5Figure 6計算結果:s=0.0086,delta_n_u= 0.0089。(2)當更改N與M不同的倍數關系時,可得到不同的計算結果,如下各圖所示:圖3.1 N=100000,M=N/5; s=0.0086,delta_n_u= 0.0090圖3.2 N=100000,M=N/2; s=0.0086,delta_n_u= 0.0091圖3.3 N=100000, M=N; s=0.0086, del

12、ta_n_u= 0.0091圖3.4 N=100000,M=2N; s=0.0086,delta_n_u= 0.0091圖3.5 N=100000,M=5N; s=0.0086; delta_n_u= 0.0091圖3.6 N=500000,M=N/5; s=0.0086,delta_n_u=0.0086圖3.7 N=500000,M=N/2; s=0.0086,delta_n_u=0.0086圖3.8 N=500000,M=N; s=0.0086,delta_n_u=0.0086圖3.9 N=500000,M=2N; s=0.0086,delta_n_u=0.0086圖3.10 N=5000

13、00,M=5N; s=0.0086,delta_n_u=0.0086表1 N=100000時,N與M成不同倍數k時,直方圖計算結果與理論計算結果的差異k=N/M105211/21/5s0.00860.00860.00860.00860.00860.0086delta_n_u0.00890.00900.00910.00910.00910.0091|delta_n_us|0.00030.00040.00050.00050.00050.0005表2 N=500000時,N與M成不同倍數k時,直方圖計算結果與理論計算結果的差異k=N/M105211/21/5s0.00860.00860.00860.0

14、0860.00860.0086delta_n_u0.00860.00860.00860.00860.00860.0086|delta_n_us|000000實驗需要討論的問題:(1)N(采樣點數),M(劃分的區間數)與直方圖的關系(平滑,Y軸的高度)。根據以上各圖分析知:當N固定的情況下,隨著M值得增大直方圖的平滑性變差,Y軸高度下降。其中,M<N時,Bessel公式計算的標準不確定度與99.73%直方圖面積的擴展不確定度兩者之間的誤差隨著M的增大而逐漸減小。當N改變時,即當N增大時可使直方圖更為精細,且此時不改變直方圖包絡的基本形狀。(2) Bessel公式計算的標準不確定度與99.7

15、3%直方圖面積的擴展不確定度兩者之間會存在誤差,這個誤差與哪些因素有關(N,M,N>=M)此誤差的大小和M、N的相對大小值有關。當N>=M時,由于對離散的誤差值統計運算存在舍入誤差導致誤差,此誤差隨著M的增大可消除此項舍入誤差。當M>N時,增大M值,誤差值穩定,但不能改善誤差值。3.2 自適應MCM法在執行自適應蒙特卡洛方法的基本過程中,蒙特卡洛試驗次數不斷增加,直至所需要的各種結果達到統計意義上的穩定。如果某結果的兩倍標準偏差小于標準不確定度的數值容差時,則認定該數值結果穩定。(1). 基于前一個實驗,構建衡量Monte Carlo法和GUM法計算得到標準不確定度差值的函數

16、。(2). 將隨機數個數N,分割區間數M分別作為該函數的自變量,定義自變量的取值范圍,從而獲得相應的函數值。(3). 分別進行三維網格作圖和三維曲線作圖,通過觀察曲線獲得最佳的N,M組合。實驗示例程序:tic;warning off;a,b=meshgrid(logspace(1,6);for j=1:max(size(a); for jj=1:max(size(b); Result1(j,jj)=shiyan(a(j),b(jj); endendfigure(1),surfc(a,b,Result1);c=logspace(1,6);d=logspace(1,6);for jjj=1:max

17、(size(c); Result2(jjj)=shiyan(c(jjj),d(jjj);endfigure(2),plot3(c,d,Result2);grid on;toc;其中shiyan()子程序為:function y=shiyan(N,M)%clear;clc;close all;%bdclose all;%設定參數值%隨機信號點數N,均值為1,標準差u1,u2%N=105;Mu=1;%M=N/10;x=0:1:floor(M);x_=1:floor(M);u1=0.005;u2=0.007;%產生兩個在(0,1)上服從均勻分布的,種子為39,每一次都相同的隨機數X1和X2%rand

18、('state',39); X1=rand(1,floor(N);X2=rand(1,floor(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)./(floor(M)-1); %d_delta為誤差分布的間距delta_n=min(del

19、ta):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

20、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)% hist(delta

21、1,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,floor(M);% hist(delta,M);grid on;% %畫包絡線% figure(6) % HH=envelope(x_,H);% plot(delta_n,HH,'b:');grid on;% hold on;%計算直方圖的面積% S=sum(d_delta.*abs(H);% 計算直方圖的面積%s

22、_1表示正向直方圖的每一個單元的面積%s_2表示反向直方圖的每一個單元的面積%s_表示正反向兩兩對稱每一對單元的面積%area表示以中心為對稱軸的累加面積i=1:1:floor(M./2);s_1(i)=d_delta.*abs(floor(H(floor(M./2+i);s_2(i)=d_delta.*abs(floor(H(floor(M./2-i+1);s_(i)=s_1(i)+s_2(i);area(1)=s_(1);for ii=1:floor(M./2)-1area(ii+1)=area(ii)+s_(ii);end% 計算99.73%的直方圖面積for iii=1:floor(M

23、./2); area(iii);if (area(iii)-0.9973*S)>=0; breakendend%plot(delta_n(M/2-iii+1),delta_n(M/2+iii),H(M/2-iii),H(M/2+iii),'ro');grid on; delta_n_u=(delta_n(floor(M./2+iii)-delta_n(floor(M./2-iii+1)./6;%理論計算標準不確定度%delta_mean=mean(delta);delta_cancha=delta-delta_mean;s=sqrt(sum(delta_cancha.2)

24、./(floor(N)-1);y=abs(delta_n_u-s);程序運行結果:Figure 1Figure 2實驗需要討論的問題:如何根據三維網格曲線和三維曲線獲得最佳的N,M組合。根據shiyan()子函數知:程序返回值為y=abs(delta_n_u-s);顯然,當y=0時即可獲得N,M的最佳組合,即三維網格曲線和三維曲線的Z坐標為0時的N,M。3.3基于最短包含區間的MCM法如果PDF不對稱,可采用最短包含區間。確定,使得,可得最短包含區間。(1). 先確定q(P=0.9973,M=1000000,q=PM=10000)(2). 重新計算包絡線下的面積(不是對稱的時候)(3). 根據

25、算法:,計算r*(4). r*對應的區間長度極為最短包含區間實驗示例程序:%x為均勻分布,正態分布,反正弦分布%y=sin(x)為何種分布tic;clear;clc;close all;%設定參數值%隨機信號點數N,均值1,標準差%N=106;M=N/10;x=0:1:M;x_=1:M;u1=0.005;u2=0.007;%rand('state',31);X1=rand(1,N);X2=rand(1,N);Y1=sin(X1);Y2=sqrt(-2*log(X1).*cos(2*pi*X2);delta1=u1*Y1;delta2=u2*Y2;delta=delta1+del

26、ta2;d_delta=(max(delta)-min(delta)/(M-1); %d_delta為誤差分布的間距delta_n=min(delta):d_delta:max(delta); %delta_n為誤差分布序列% 畫直方圖figure(1)axis(-1,1,0,N)hist(Y1,M);grid on;figure(2)axis(-1,1,0,N)hist(Y2,M);grid on;figure(3);axis(-1,1,0,N)hist(delta,M);grid on;H=hist(delta,M);%畫包絡線%figure(4)HH=envelope(x_,H);plo

27、t(delta_n,HH,'b:');grid on;hold on;%計算直方圖的面積%S=sum(d_delta*abs(H);% 計算直方圖的面積%s_1表示正向直方圖的每一個單元的面積%s_2表示反向直方圖的每一個單元的面積%s_表示正反向兩兩對稱每一對單元的面積%area表示以中心為對稱軸的累加面積i=1:1:M/2;s_1(i)=d_delta*abs(floor(H(floor(M/2+i);s_2(i)=d_delta*abs(floor(H(floor(M/2-i+1);s_(i)=s_1(i)+s_2(i);area(1)=s_(1);for ii=1:M/2-1area(ii+1)=area(ii)+s_(ii);end% 計算99.73%的直方圖面積f

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論