成都理工大學(xué)核輻射數(shù)據(jù)處理程序設(shè)計(jì)_第1頁
成都理工大學(xué)核輻射數(shù)據(jù)處理程序設(shè)計(jì)_第2頁
成都理工大學(xué)核輻射數(shù)據(jù)處理程序設(shè)計(jì)_第3頁
成都理工大學(xué)核輻射數(shù)據(jù)處理程序設(shè)計(jì)_第4頁
成都理工大學(xué)核輻射數(shù)據(jù)處理程序設(shè)計(jì)_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、 程序設(shè)計(jì) 課程設(shè)計(jì)(論文)設(shè)計(jì)(論文)題目 譜的顯示、譜光滑、定性分析程序 學(xué)院名稱 核技術(shù)與自動化工程學(xué)院 專業(yè)名稱 輻射防護(hù)與環(huán)境工程 學(xué)生姓名 蔣卓辰 學(xué)生學(xué)號 201106080116 任課教師 馬永紅 設(shè)計(jì)(論文)成績 教務(wù)處 制2015年 1 月 10 日一、實(shí)習(xí)目的學(xué)習(xí)使用各種編程軟件,利用計(jì)算機(jī)工具開展專業(yè)信息處理工作。使用面向?qū)ο缶幊趟枷雽?shí)現(xiàn)譜數(shù)據(jù)處理功能以及譜顯示功能。二、人員組成及分工本人題目為:譜的顯示、譜光滑、定性分析程序具體要求:用算術(shù)滑動平均法實(shí)現(xiàn)譜光滑一階導(dǎo)數(shù)法尋峰位根據(jù)能量刻度系數(shù)計(jì)算峰位的能量,檢索元素三、實(shí)習(xí)計(jì)劃1. 首先進(jìn)行MFC繪圖區(qū)域的學(xué)習(xí)和了解,

2、實(shí)現(xiàn)基本繪圖功能2. 建立單文檔MFC程序,設(shè)計(jì)一個合理美觀的工作區(qū)3. 實(shí)現(xiàn)文件打開讀取功能,并能打開不同文件4. 進(jìn)行譜數(shù)據(jù)處理的算法編寫5. 編寫成譜圖形功能并給出處理結(jié)論 四、基本原理1、重心法選取加權(quán)因子和歸一化因子,使光滑后的數(shù)據(jù)成為原來數(shù)據(jù)的重心。常見的有5點(diǎn)和7點(diǎn)光滑。5點(diǎn)法: 7點(diǎn)法:2、簡單比較法(極值定峰法、IF函數(shù)找峰法)a、峰的定義:滿足,然后在datai-m至datai+m中找最大值道。b、常用的:5點(diǎn)、7點(diǎn)極大值法。c、一般,用R=N0/NbRc確定峰是否有意義。N0為凈峰幅度與基底之和,Nb為基底計(jì)數(shù),Rc為設(shè)定值。d、k:找峰閾值,根據(jù)高斯統(tǒng)計(jì)概率分布,一般k

3、取值:11.5。峰的左右邊界道i-L和i+R的確定:3、線性本底法計(jì)算總面積:計(jì)算本底面積:計(jì)算凈峰面積:五、主要工作介紹1. 建立單文檔類MFC可執(zhí)行程序2. 建立繪圖區(qū)函數(shù),初始化繪圖設(shè)備3. 添加文件打開虛函數(shù)4. 嘗試讀取mca文件六、流程及程序1、模塊介紹(1)主程序的流程開始BGI初始化調(diào)用顯示未處理前譜線函數(shù)及處理譜函數(shù)NY譜文件是否打開?等待Switch(按鍵):各按鍵作用函數(shù)調(diào)用End2、程序流程(1)函數(shù)及變量定義#define MAX_ELEMENT_NUM 20#define ScreenHeight 480#define ScreenWidth 640#define

4、LineHeight 370#define LineWidth 500#define LineLeftX (ScreenWidth-LineWidth)/2)#define LineRightX (LineLeftX+LineWidth)#define LineTopY 40#define LineBottomY (LineTopY+LineHeight)FILE* dataFile;int gdriver,gmode;unsigned long dataTable1024,maxVal;int DisPos500;/*實(shí)際顯示的數(shù)據(jù)*/int OriPos500;/*未處理前的數(shù)據(jù)*/int

5、 cursorX;float zoom;unsigned int cursorChannel;unsigned char dispLine;unsigned char energyMarked,elementLoaded,SpectrumLoaded,peakSeeked,cursorPeakseeked;int smoothLevel = 1,peakSeekLevel = 9;float a,b;/*能量刻度方程*/char elementMAX_ELEMENT_NUM2;unsigned char numOfElement,cursorElement;float elementEnerg

6、yMAX_ELEMENT_NUM;unsigned int peakBoundMAX_ELEMENT_NUM2;unsigned long elementAreaMAX_ELEMENT_NUM,elementNetAreaMAX_ELEMENT_NUM;unsigned int cursorPeakBoundLeft,cursorPeakBoundRight;unsigned long cursorPeakArea,cursorPeakNetArea;(2)程序#define MAX_ELEMENT_NUM 20 #define ScreenHeight 480 #define ScreenW

7、idth 640 #define LineHeight 370 #define LineWidth 500 #define LineLeftX (ScreenWidth-LineWidth)/2) #define LineRightX (LineLeftX+LineWidth) #define LineTopY 40 #define LineBottomY (LineTopY+LineHeight) FILE* dataFile; int gdriver,gmode; unsigned long dataTable1024,maxVal; int DisPos500;/*實(shí)際顯示的數(shù)據(jù)*/ i

8、nt OriPos500;/*未處理前的數(shù)據(jù)*/ int cursorX; float zoom; unsigned int cursorChannel; unsigned char dispLine; unsigned char energyMarked,elementLoaded,SpectrumLoaded,peakSeeked,cursorPeakseeked; int smoothLevel = 1,peakSeekLevel = 9; float a,b;/*能量刻度方程*/ char elementMAX_ELEMENT_NUM2; unsigned char numOfElem

9、ent,cursorElement; float elementEnergyMAX_ELEMENT_NUM; unsigned int peakBoundMAX_ELEMENT_NUM2; unsigned long elementAreaMAX_ELEMENT_NUM,elementNetAreaMAX_ELEMENT_NUM; unsigned int cursorPeakBoundLeft,cursorPeakBoundRight; unsigned long cursorPeakArea,cursorPeakNetArea;w=input('input the width of

10、 the filter window:'); for i=1:w k=i-ceil(w/2); end array_z = zeros(count+2*floor(w/2),1); for i=1:count+2*floor(w/2) if(i<=floor(w/2) array_z(i)=array(-i+ceil(w/2); elseif(i>count+floor(w/2) array_z(i)=array(-(i-floor(w/2)+2*count+1); else array_z(i)=array(i-floor(w/2); end end a1=zeros(1

11、,count); for j=1:w SMZ(j)=array_z(i+j-1); end a1(i)=SMZ*fwk; end disp('下面開始輸入對稱零面積法尋峰'); disp('下面開始輸入對稱零面積法的各參數(shù)'); disp('如果是方波的話有 k=1'); K=input('請輸入?yún)?shù) k=?:n'); H=input('請輸入?yún)?shù)半寬度 H=?(正奇數(shù)):n'); m=(2*K+1)*H-1)/2; w=2*m+1; b=input('請輸入?yún)?shù) b=?:n'); a=2*K*b;

12、 %K=4; %H=2*K+1; %w=3*H; %b=1; %a=2*K*b; m1=floor(w/2); temporary=zeros(count+2*m1),1); for i=1:count+2*m1 if(i<=m1); temporary(i)=a1(ceil(w/2)-i); elseif(i>(count+m1) temporary(i)=a1(-(i-m1)+2*count+1); else temporary(i)=a1(i-m1); end end A=zeros(count,1); for i=ceil(w/2):count+m1; for j=-(w-

13、1)/2:(w-1)/2; if abs(j)<=(H-1)/2; T=a; else T=-b; end A(i-m1,1)= A(i-m1,1)+T*temporary(i+j); end end for i=1:count; %數(shù)據(jù)轉(zhuǎn)制 SSiFENZI(i,1)=A(i,1); end B=zeros(count,1); for i=ceil(w/2):count+m1; for j=-(w-1)/2:(w-1)/2; if abs(j)<=(H-1)/2; T=a2; else T=b2; end B(i-m1,1)=B(i-m1,1)+T*temporary(i+j);

14、 end end for i=1:count; SSiFENMU(i,1)=B(i,1); end for i=1:count; SS(i,1)=SSiFENZI(i,1)/sqrt(SSiFENMU(i,1); end p=1; q=1; f=30; for i=1:count; if SSiFENZI(i)<0; fpdatablow(p,1)=i; fpdatablow(p,2)=SSiFENZI(i); p=p+1; elseif SS(i)>f; fpdataup(q,1)=i; fpdataup(q,2)=SSiFENZI(i); q=q+1; end end p=1;

15、 for i=2:length(fpdataup(:,1)-1; if fpdataup(i,2)>fpdataup(i+1,2)&&fpdataup(i,2)>fpdataup(i-1,2); mpeak(p,1)=fpdataup(i,1); p=p+1; end end for i=1:length(mpeak(:,1); j=mpeak(i); t=mpeak(i); peak(i)=t+(a1(t+1)-a1(t-1)/(2*a1(t)-a1(t+1)-a1(t-1)/2; disp('計(jì)算峰面積;下面采用總峰面積法'); y1=zeros

16、(1,length(mpeak); for i=1:length(mpeak) for j=(zuobianjic(i)+1):(youbianjic(i)-1) y1(i)=y1(i)+a1(j); end s(i)=y1(i)-(youbianjie(i)-1)*(a1(zuobianjie(i)/2; end end end disp(各個峰面積:); sprintf('%d',s)七、體會在本次程序設(shè)計(jì)實(shí)習(xí)中,我再次學(xué)習(xí)了MFC編程方法。過程中,我遇到了許多曾經(jīng)都沒有遇到的問題,比如文件的打開和讀取,無法繪圖等。在與同學(xué)討論后一步一步解決這些問題的同時(shí),漸漸進(jìn)一步的熟悉掌握了譜數(shù)據(jù)處理的方法和編程思想。對于本專業(yè)同學(xué)們而言,這次實(shí)習(xí)是擴(kuò)展我專業(yè)同學(xué)技能的大好機(jī)會,通過本次程序設(shè)計(jì),可以加強(qiáng)對核數(shù)據(jù)處理方法的理解,并且鍛煉了處理的能力。在編寫的過程中要有良好的格式及注釋習(xí)慣,以免一段時(shí)間甚至幾分鐘后就看不懂自己的思路。最后,衷心感謝在本次程序設(shè)計(jì)實(shí)習(xí)過程中,馬永紅老師細(xì)心的指導(dǎo),您不厭其煩地解答我的各種疑問,并且?guī)椭覍ふ以紨?shù)據(jù)的數(shù)據(jù)格式和數(shù)據(jù)類型。我還要感謝蘆瑞琪、袁子程同學(xué)對我在思路上的重要啟發(fā),謝謝你們給予我的大力支持!學(xué)生學(xué)習(xí)心得由于之前對編程并不是很了解,導(dǎo)致本次程序設(shè)計(jì)遇到了很多問題自己都無法解決,在這個過程中,通過不斷地詢問老師以及

溫馨提示

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

評論

0/150

提交評論