高程数据线性插值的MATLAB处理
1. 数据格式
A列为里程数据,是连续的;B列为高程数据,不完全连续,存在部分缺失。
2. 运行代码,结果如下
A列、B列保持不变,增加了C列,C列为线性插值后的结果,为连续数据。
3. 部分源代码
data=xlsread('待插值数据.xlsx'); %读取两列数据
L=data(:,1); %提取第一列数据,为完整数据,里程数据
H=data(:,2); %提取第2列数据,为不完整、待插值数据,高程数据
h = msgbox('数据读取完毕!') ;
H_10=~isnan(H); %把H向量中的非空值与空值分别赋值为1和0
H_index=find(H_10==1); %查找高程数据中非空值
H_new=H;
% 根据非空值,线性插值出来中间的空值
******
data_new=[L H H_new]; % 将里程、高程、插值后高程组成矩阵,写入Excel。
xlswrite('已插值数据.xlsx',data_new);
h2 = msgbox('数据写入完毕!') ;