function new_data=change_sampling(old_data,new_x) % sampling frequency changer % Author: Yuta Michimura old_x=old_data(:,1); old_y=old_data(:,2); old_dx=old_x(2)-old_x(1); old_N=length(old_x); new_N=length(new_x); if (new_x(1) < old_x(1)) | (old_x(old_N) < new_x(new_N)) error('ERROR!') end new_y=ones(1,new_N)*old_y(old_N); startkk=1; for jj=1:new_N for kk=startkk:old_N-1 if (new_x(jj)-old_x(kk))*(new_x(jj)-old_x(kk+1)) < 0 new_y(jj)=(old_y(kk+1)-old_y(kk))/(old_x(kk+1)-old_x(kk))*(new_x(jj)-old_x(kk))+old_y(kk); startkk=kk; break elseif new_x(jj) == old_x(kk) new_y(jj)=old_y(kk); startkk=kk; break end end end % figure(); % loglog(old_x,old_y,'.',new_x,new_y,'.'); % % % plot(old_x,old_y,'.',new_x,new_y,'.'); % legend('original','resampled'); new_data=[new_x;new_y]';