python - 用 numpy 在两个矩阵之间进行插值
问题描述
我有两个 HxW 矩阵A
和B
. 我想得到一个 NxHxW 矩阵C
,使得C[0]=A
,C[-1]=B
和剩余的每个切片在和N-2
之间线性插值。是否有一个 numpy 函数我可以做到这一点,而不需要 for 循环?A
B
解决方案
如果您正在寻找仅 2 个点之间的线性插值,只需使用 linspace。
A = np.array([[0,1],
[2,3]])
B = np.array([[1, 3],
[-1,-2]])
C = np.linspace(A,B,4) #<- Change this to H+2, which is H linearly interpolated values between the 2 points
C
array([[[ 0. , 1. ], #<-- A matrix is C[0]
[ 2. , 3. ]],
[[ 0.33333333, 1.66666667],
[ 1. , 1.33333333]], #
#<-- Elementwise equally spaced values
[[ 0.66666667, 2.33333333], #
[ 0. , -0.33333333]],
[[ 1. , 3. ], #<-- B matrix is C[-1]
[-1. , -2. ]]])
推荐阅读
- office-ui-fabric - 如何在 Fabric UI 的 DatePicker 组件中使用 calendarAs 属性?
- java - 使用 gregory 级数计算带极限的近似 pi
- azure-data-factory - 是否可以从 adf 连接到 databricks deltalake 表
- ruby-on-rails - 允许 :firstname 但不通过设计注册保存到数据库
- angular - 在 Angular 中看不到 HTML 中的值变化
- mysql - 从现在开始每隔 7 天在 mysql 中选择数据和日期范围窗口
- javascript - 如何根据从上一个 [above] 下拉列表中选择的值填充 select2 下拉列表中的选项?
- python - MultiLabelBinarizer 给出单个字符而不是类
- javascript - 使用变量更新字段
- vue.js - 使用 v-for 循环在我的 Home.vue 文件中出现错误