小编Ash*_*ego的帖子

使用scipy.interpolate.interpn插入一个N维数组

假设我的数据取决于4个变量:a,b,c和d.我想插值返回一个对应于a和b的单个值的二维数组,以及一个c和d的值数组.但是,阵列大小不必相同.具体而言,我的数据来自晶体管模拟.电流取决于4个变量.我想绘制一个参数变化.参数上的点数远小于水平轴的点数.

import numpy as np
from scipy.interpolate import interpn
arr = np.random.random((4,4,4,4))
x1 = np.array([0, 1, 2, 3])
x2 = np.array([0, 10, 20, 30])
x3 = np.array([0, 10, 20, 30])
x4 = np.array([0, .1, .2, .30])
points = (x1, x2, x3, x4)
Run Code Online (Sandbox Code Playgroud)

以下作品:

xi = (0.1, 9, np.transpose(np.linspace(0, 30, 4)), np.linspace(0, 0.3, 4))
result = interpn(points, arr, xi)
Run Code Online (Sandbox Code Playgroud)

这样做:

xi = (0.1, 9, 24, np.linspace(0, 0.3, 4))
result = interpn(points, arr, xi)
Run Code Online (Sandbox Code Playgroud)

但不是这个:

xi = (0.1, 9, np.transpose(np.linspace(0, 30, 3)), …
Run Code Online (Sandbox Code Playgroud)

python numpy scipy python-2.7

4
推荐指数
1
解决办法
6914
查看次数

标签 统计

numpy ×1

python ×1

python-2.7 ×1

scipy ×1