1、需求
现有有一组里程和海拔数据,如下图Excel,总里程2271km,但是里程数据不是均匀等分。
数据导入其他软件计算或者对比分析时,要求数据基准一样,因此需对数据重采样。
2、思路
1)设定按照100m均匀等分的连续区间;
2)应用spline函数,根据连续区间对原始数据进行拟合;
3)按照等分区间保存数据。
3、matalb代码如下
clc;clear;
Si = xlsread('Route 北京-广州 Altitude 2271.52 km.xlsx');%读取excel数据,同目录下
dis_S=Si(:,1); %第1列为里程数据,单位m
ALt_S=Si(:,2); %第1列为海拔数据,单位m
xx_S=0:100:2271520; %参考里程数据设定连续区间,按照100m等分
yy_S=spline(dis_S,ALt_S,xx_S); %根据设定的连续区间对数据进行拟合转换成连续数据
Alt=[xx_S;yy_S]; %设置新数据矩阵,按照等分区间保存数据
Re=Alt'; %新数据矩阵转置为列数据
plot(dis_S,ALt_S,xx_S,yy_S,'o');
title('海拔——里程');
alpha('0.5');
xlabel('里程(m)');
ylabel('海拔(m)');
legend('原始数据','重采样数据');
结果如下: