function myInterP(path,outpath)
%path 存放所有插值前文件的目录
%outpath 存放所有插值后文件的目录
namelist = dir([path,'*.txt']); %获取每个文件名,这里读取的是TXT文件
x0 = linspace(0,30,3000); %插值前横坐标,共3000个点
x1 = linspace(0,30,4800); %插值后横坐标,共4800个点
for i = 1:length(namelist)
filename = [path,namelist(i).name]; %通过字符串拼接获得的就是绝对路径了
y0 = load(filename);
y1=interp1(x0,y0,x1,'Pchip'); %利用立方插值法进行插值
fid = fopen([outpath,namelist(i).name],'wt'); %创建.txt文件
fprintf(fid,'%g\n',y1);
fclose(fid);
%%插值结果可视化对比
% %-4---Pchip interpolation---%
% figure('Position',[200,200,500,400],'Name','Pchip')
% plot(x0,y0,'r','LineWidth',2);hold on; %插值前数据可视化
% plot(x1,y1,'b','LineWidth',0.05);hold off; %插值后数据可视化
% xlabel('x','fontsize',20);ylabel('y','fontsize',20); %横纵坐标名称
end
多个.txt文件插值及存储----基于MATLAB
最新推荐文章于 2021-03-16 14:54:55 发布