我有一段插值的子程序,是死循环,请高手给修改下
clear;<BR>global time;global buc;<BR>global Bool;%Bool表示是否执行了“零均值化”“抽值”“插值”和“剔除奇异值”操作<BR>h6=figure('color',,'position',,...<BR> 'name','信号处理系统(插值)','numbertitle','off');<BR>but=questdlg('请选择将要进行处理的数据','插值','原始数据','预处理后的数据','原始数据');<BR>if strcmp(but,'原始数据')<BR> load d001;<BR> s=d001;<BR>else<BR> load d008;<BR> s=d008;<BR>end<BR>prompt={'请输入插值系数(即两数之间插几个数):'};<BR>def={''};<BR>dlgTitle='插值';<BR>lineNo=1;<BR>czxs=inputdlg(prompt,dlgTitle,lineNo,def);<BR>if char(czxs)~=0<BR>N=length(s);<BR>k=str2num(char(czxs));<BR>d008(1)=s(1);<BR>for n=1:N-1,<BR> for v=(k*(n-1)+2):k*n,<BR> d008(v)=s(n)+(s(n+1)-s(n))*(v-k*(n-1)-1)/k;<BR> end<BR> d008(v+1)=s(n+1);<BR>end<BR>save d008 d008;<BR>subplot(2,1,1);<BR>tix=0:buc:(time-buc);<BR>plot(tix,s);<BR>grid on;<BR>Xlabel('Time(s)');<BR>Ylabel('Amplitude');<BR>title('原始信号');<BR>Ylabel('Amplitude');<BR>subplot(2,1,2);<BR>tix=0:(buc/k):(time-buc);<BR>plot(tix,d008);<BR>Bool=Bool+1;<BR>grid on;<BR>Xlabel('Time(s)');<BR>Ylabel('Amplitude');<BR>title('插值后的信号');<BR>else<BR> close(h6);<BR>end
页:
[1]