如何用Python获取X轴0-400全范围对应的所有Y坐标?
实现方法
这问题用插值算法就能解决,Python里有现成工具,不用自己写逻辑,给你两种简便实现方式:
方法一:Numpy线性插值(无需额外装库,适合多数场景)
线性插值会把相邻已知点用直线连接,生成中间点的Y值,操作最简单:
import numpy as np # 替换成你实际的已知点X、Y坐标 known_x = [0, 100, 200, 400] known_y = [10, 30, 20, 50] # 示例值,换成你的真实数据 # 生成0到400的全部X点(包含0和400共401个点;要400个点就用np.linspace(0, 400, 400)) all_x = np.arange(0, 401) # 执行插值,得到所有X对应的Y值 all_y = np.interp(all_x, known_x, known_y) # 可以打印前几个点验证结果 print(all_y[:5])
方法二:Scipy非线性插值(生成平滑曲线)
如果想要更平滑的曲线结果,比如三次样条插值,用Scipy的interpolate模块:
import numpy as np from scipy import interpolate known_x = [0, 100, 200, 400] known_y = [10, 30, 20, 50] all_x = np.arange(0, 401) # 创建三次样条插值函数,kind参数可选'linear'/'quadratic'/'cubic'等 f = interpolate.interp1d(known_x, known_y, kind='cubic') all_y = f(all_x) # 查看结果 print(all_y[:5])
内容的提问来源于stack exchange,提问作者dfsdf
相关产品推荐
相关产品推荐

