if (BOUNDMETHOD == 0) % 0:边界延拓镜像法; 1:边界延自适应波形匹配法
[tmin,tmax,mmin,mmax] = boundary_conditions(indmin,indmax,t,m,m,NBSYM); % 边界延拓
else % 1:边界延自适应波形匹配法
[tmin,tmax,mmin,mmax] = boundary_matchwave(indmin,indmax,t,m);
end;
if (ENVMETHOD == 0 ) % 0:上下包络法求均值; 1:用中值定理法求均值
envmin = interp1(tmin,mmin,t,INTERP); % 插值函数为interp1,其中x,y为插值点,yi为在被插值点xi处的插值结果;x,y为向量, 表示采用的插值方法
envmax = interp1(tmax,mmax,t,INTERP);
envmoy = (envmin+envmax)/2; % 计算包络均值
if nargout > 3
amp = mean(abs(envmax-envmin),1)/2; % 计算包络幅度
end
else % 1:用中值定理法求均值
[mvalue,indt] = compose(tmin,tmax,mmin,mmax);
[env,tindex] = mvtd(m,mvalue,indt,0); % 用中值定理法求均值
envmoy = interp1(tindex,env,t,INTERP); % 插值函数x = 0:10; y = sin(x); xx = 0:.25:10;yy = spline(x,y,xx); plot(x,y,'o',xx,yy) CSAPI(0
if nargout > 3
amp = mean(abs(envmoy),1)/2; % 计算包络幅度
end
end; |