网站嵌入英文地图,网站设计 模板,龙岩网站建设平台,专门做简历的网站软件1 问题描述
我现在有三个2D矩阵#xff0c;每一行是两个元素#xff0c;代表经纬度#xff1b;不同矩阵的行数不同
现在希望通过线性插补#xff0c;使得每个2D矩阵行数相同
pth_lst[[[1,2],[1,3],[3,4]],[[3,4],[5,6],[7,8],[9,10],[11,12],[13,14],[15,16]],[[2,4],[5…1 问题描述
我现在有三个2D矩阵每一行是两个元素代表经纬度不同矩阵的行数不同
现在希望通过线性插补使得每个2D矩阵行数相同
pth_lst[[[1,2],[1,3],[3,4]],[[3,4],[5,6],[7,8],[9,10],[11,12],[13,14],[15,16]],[[2,4],[5,8]]]
2 解决方法
2.1 导入库
import numpy as np
from scipy.interpolate import interp1d
2.2 计算各个2D矩阵需要插补到的行数
max_len0
for i in pth_lst:max_lenmax(max_len,len(i))
max_len
#7
2.3 进行插补
inter_lst[]
#结果列表for i in pth_lst:tmpnp.array(i)current_ltmp.shape[0]new_indexnp.linspace(0,current_l-1,max_len)#目标自变量坐标首末位置和原来的2D矩阵一样间隔不再是1interpolate_pathinterp1d(np.arange(current_l),i,axis0)#对当前2D矩阵进行线性插补inter_lst.append(interpolate_path(new_index).tolist())
inter_lst[[[1.0, 2.0],[1.0, 2.3333333333333335],[1.0, 2.6666666666666665],[1.0, 3.0],[1.6666666666666665, 3.333333333333333],[2.333333333333333, 3.6666666666666665],[3.0, 4.0]],[[3.0, 4.0],[5.0, 6.0],[7.0, 8.0],[9.0, 10.0],[11.0, 12.0],[13.0, 14.0],[15.0, 16.0]],[[2.0, 4.0],[2.5, 4.666666666666667],[3.0, 5.333333333333333],[3.5, 6.0],[4.0, 6.666666666666666],[4.5, 7.333333333333333],[5.0, 8.0]]]