python - 在 Python 中的两个对数方程之间插值和平滑数据
问题描述
我有几个方程如下:
windGust8 = -53.3 + (28.3 * log(windSpeed))
windGust7to8 = -70.0 + (30.8 * log(windSpeed))
windGust6to7 = -29.2 + (17.7 * log(windSpeed))
windGust6 = -32.3 + (16.7 * log(windSpeed))
哪里windSpeed
是 850mb 模型的风速。
然后,我使用模型中的失效率来确定要使用哪个方程:
windGustTemp = where(greater(lapseRate,8.00),windGust8,windGustTemp)
windGustTemp = where(logical_and(less_equal(lapseRate,8.00),greater(lapseRate,7.00)),windGust7to8,windGustTemp)
windGustTemp = where(logical_and(less_equal(lapseRate,7.00),greater(lapseRate,6.00)),windGust6to7,windGustTemp)
windGustTemp = where(less_equal(lapseRate,6.00),windGust6,windGustTemp)
return windGustTemp
当我将这些方程绘制为地图上的填充轮廓时,正如您所期望的那样,会有明显的渐变。我想做的是在这些方程之间进行插值,并可能稍微平滑一点,以使图形看起来更干净。我假设我会使用 scipy.interpolate.interp1d,但我不确定如何将其应用于这种情况。任何帮助将非常感激!谢谢!
编辑以添加输出图像示例
这是当前生成的输出图像的示例。你可以看到边缘有多突然。我想对这些数据进行插值和平滑处理。
模型数据每 1 公里有一个数据点。对于每个点,首先要确定失效率是多少……比如说 7.4。然后根据上面的逻辑方程,它知道使用与 7 到 8 之间的递减率相关的方程。然后它找到该点的模型风速,将其代入方程并得到一个数字,它会在地图上绘制. 这是针对所有模型数据点完成的,并生成上面的图像。
解决方案
推荐阅读
- javascript - React-网络摄像头录制、回放、重新录制、存储
- r - 在 R 中使用 tidyverse 重新调整因子和重新排序因子
- tensorflow - google colab 您的会话因未知原因而崩溃 .convert()
- intellij-idea - 在 intellij filewatchers 中使用 sass 编译 scss 时出错
- javascript - 如何循环应用 div 类的 span id?
- environment - 在 mac 中查找 conda env 文件夹
- java - RejectedAccessException:没有找到这样的构造函数
- ios - 第二个 .xib 文件不会链接到 UITableViewCell 的 .swift 文件
- visual-studio-2019 - Visual Studio 工具命令行 Powershell - 启动到 Powershell 7
- python - Pandas / Python - 将每一行与所有其他行进行数字比较