能谱谱数据分解方法研究程序核数据处理课程设计.doc%本次课程设计采用的谱数据为iaea-1995文件夹下iaearfnw TSTSPEC%里面的数据。:%ChannelEnergy(keV)%%%%%%%%运行程序,其屮参数选择为:选择傅里叶变换法平滑输入3,选择高斯滤波器输入后A=1,FWHM=4,对称零面积法的参数是K=2,H=3,b=l寻出来%。2,然clc;clear;[Filename,Pathname]=uigetfile(,*.*,,'i^择谱数据');fid=fopen([PathnameFilename],'r') %fid为文件指针,i■表示读操作[array,count]=fscanf(fid,,%d,,[linf]); %指定格式转换后返冋给矩阵array,同时返冋成功的读出的数据数量count,1表示读出一个元素到一个列向量,inf表示读到文件结朿返冋一个与文件数据元素相同的列向量fclose(fid);%%%%>'ifii开始能谱平zH-%%%%%%%pinghuaxuanze=i叩ut(*请选择平滑方法:\n输入1选择重心法平滑\n输入2选择多项式最小二乘移动平滑法\n输入3选择傅里叶变换法\n输入4选择小波变换:W);1«£••土•士 •士 «£••土•士 ■一|、■丿•I•\I/%JfIa •士 •土•士 •士if(pinghuaxuanze==1)biaoji=l;fori=l:countarray_z(i)=array(i);endw=i叩ut「i叩utthewidthofthefilterwindow:'); %w表示w点平滑公式whilemod(w,2)==0 %判断输入的数是否是奇数,不是则重新输入。w=input(4nputoddnumber/);endm=floor(w/2);forj=l:mfori=l:countif(i==l)array_smooth(i)=*(array_z(i)+array_z(i+1)); %能谱左边界做对称镜像处理elseif(i>1&&i<(count-l))array_smooth(i)=*array_z(i-l)+*array_z(i)+*array_z(i+1);elsearray_smooth(i)=*(array_z(count)+array_z(count-1)); %能谱右边界做对称镜像处理endendfori=l:count %将平滑好的数据放冋原数组,为下一次做好准备。array_z(i)=array_smooth(i);endendfori=l:countal(i)=array_z(i);end逐***********************重心法平滑结束***************************轻***********************多项式最小二乘移动平滑法*****************elseif(pinghuaxuanze==2)
能谱谱数据分解方法研究程序核数据处理课程设计 来自淘豆网www.taodocs.com转载请标明出处.