资源描述:
《使用MATLAB实现关联维算法及报告.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、地理与生物信息学院2011/2012学年第二学期实验报告课程名称:医学信号处理实验名称:关联维算法实现班级学号:111111111学生姓名:AAAAAAA指导教师:BB日期:2012年6月一、实验目的和要求实现关联维算法并能够在Matlab平台上编写出程序,用关联维算法分析医学信号并得出结果。二、实验准备可以熟练使用Matlab进行编程。三、实验内容1、在matlab平台上实现关联维算法步骤:(1)取m=4、8、10、20、25,(2)取=3,应用时间序列重构一个m维相空间,(3)取r=1:1:5,即:从1变化到5,步长为1,(4)计算C2,()(5)重复步骤2)
2、到4),(6)当m增大到25时计算时,在图里表现为曲线的直线部分的斜率不再随m的变化而变化,此时D2即是所求的吸引子的关联维。2、用关联维算法分析医学信号并得出结论。四、实验结果实现代码:fid=fopen('C:vfdb-418.txt');f=fscanf(fid,'%f',[31000]);start=1;t=3;m=[48102025];n=100;Cr=ones([55]);forc=1:5f_d=ones([m(c)n]);fori=1:m(c)forj=1:nf_d(i,j)=f(2,start+(i-1)*t+j-1)%重构一个m维相空间ende
3、ndy=pdist(f_d');%距离(14950)矩阵B=squareform(y);%变成(100x100)sum=0;forr=1:5fori=1:100forj=1:100if(r-B(i,j)>0)sum=sum+1;endendendCr(c,r)=1/n^2*(sum-100)endendsave('Cr.mat','Cr')A=importdata('Cr.mat');figure,plot(log(1:5),log(A(1,:)),'r*',log(1:5),log(A(2,:)),'m+',log(1:5),log(A(3,:)),'b*',l
4、og(1:5),log(A(4,:)),'g.',log(1:5),log(A(5,:)),'ro')gridon,legend('m=4','m=8','m=10','m=20','m=25',2)xlabel('log(r)'),ylabel('log(Cr)')源数据曲线:测试结果:五、实验小结本次实验中理解了什么是重构相空间算法,进一步知道容量维数的计算,最后完成了本实验要求的关联维算法,如何实现关联维算法。通过对关联维算法的理论学习和老师的讲解,用matlab实现。由于本实验循环较多,除了减少实验数据以外,尽量优化代码,简化算法,利用技巧完成实验。