gpt4 book ai didi

Python 和 Scipy 编程

转载 作者:太空宇宙 更新时间:2023-11-04 09:17:10 24 4
gpt4 key购买 nike

我收到此错误消息:

Traceback (most recent call last):
File "C:/Python27/test", line 14, in <module>
tck = interpolate.bisplrep(X,Y,Z)
File "C:\Python27\lib\site-packages\scipy\interpolate\fitpack.py", line 850, in bisplrep
raise TypeError('m >= (kx+1)(ky+1) must hold')
TypeError: m >= (kx+1)(ky+1) must hold

错误表明 len(X) = m is <=(kx+1)(ky+1) .我该如何解决这个问题?这是我的程序:

import scipy
import math
import numpy
from scipy import interpolate


x= [1000,2000,3000,4000,5000,6000]
y= [1000]

Y = numpy.array([[i]*len(x) for i in y])
X = numpy.array([x for i in y])
Z = numpy.array([[21284473.74,2574509.71,453334.97,95761.64,30580.45,25580.60]])

tck = interpolate.bisplrep(x,y,Z)
print interpolate.bisplev(3500,1000,tck)

最佳答案

你读过documentation吗? ?

如果您不指定 kxky , 默认值为 3 :

scipy.interpolate.bisplrep(x, y, z, w=None, xb=None, xe=None, yb=None, ye=None, 
kx=3, ky=3, task=0, s=None, eps=1e-16, tx=None, ty=None,
full_output=0, nxest=None, nyest=None, quiet=1)

当然,len(X) = 6 < 16 = (3+1)(3+1) .

即使你给kx=1ky=1明确地打电话时,你有另一个问题。你的(x,y)值形成一条线,你不能从一条线定义一个表面。因此它给你 ValueError: Invalid inputs. .首先,您应该修复数据。如果这是您的数据,因为您在 Y 中没有变化, 跳过它并使用 X 在 2D 中做一个样条曲线和 Z .

关于Python 和 Scipy 编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7776396/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com