草庐IT

interpolation

全部标签

python - Python 中的拉格朗日插值

我想用拉格朗日方法对多项式进行插值,但这段代码不起作用:definterpolate(x_values,y_values):def_basis(j):p=[(x-x_values[m])/(x_values[j]-x_values[m])forminxrange(k+1)ifm!=j]returnreduce(operator.mul,p)assertlen(x_values)!=0and(len(x_values)==len(y_values)),'xandycannotbeemptyandmusthavethesamelength'k=len(x_values)returnsum(

python - 如何在长 Pandas 系列上应用三次样条插值?

我需要使用三次样条插值替换pandas系列中缺失的数据。我发现我可以使用pandas.Series.interpolate(method='cubic')方法,它看起来像这样:importnumpyasnpimportpandasaspd#createseriessize=50x=np.linspace(-2,5,size)y=pd.Series(np.sin(x))#deletingdatasegmenty[10:30]=np.nan#interpolationy=y.interpolate(method='cubic')尽管此方法对小系列(size=50)工作得很好,但它似乎会导致

Python 在二维网格上插入点值

我有一个常规的二维X、Y和Z数组,我有一个点X0和Y0,我想知道网格上点(X0,Y0)的Z0值。我发现scipy有插值模块,但据我所知,它插值一维/二维数组并返回一维/二维数组,但没有在某一点只返回一个值的方法。例如:#MygriddataX=[[X11,X12,X13,...,X1N],[X21,X22,X23,...,X2N],....[XN1,XN2,XN3,...,XNN]Y=[[Y11,Y12,Y13,...,Y1N],[Y21,Y22,Y23,...,Y2N],....[YN1,YN2,YN3,...,YNN]]Z=[[Z11,Z12,Z13,...,Z1N],[Z21,Z

python - 反转插值以给出与所需插值函数值关联的变量

我正在尝试使用scipy的插值函数来反转插值函数。假设我创建了一个插值函数,importscipy.interpolateasinterpolateinterpolatedfunction=interpolated.interp1d(xvariable,data,kind='cubic')当我指定a时,是否有一些函数可以找到x:interpolatedfunction(x)==a换句话说,“我希望我的插值函数等于a;xvariable的值是多少才能使我的函数等于a?”我很感激我可以用一些数字方案来做到这一点,但是有没有更直接的方法?如果插值函数在xvariable中是多值的怎么办?

python - PIL(Python 图像库)中的 ANTIALIAS 与 BICUBIC?

我正在使用PIL调整图像大小,我的情况是放大原始图像。我对与`resample=ANTIALIAS'一起使用的算法感到困惑。根据下面的文档,ANTIALIAS在缩小时似乎是最好的。我想知道在哪种情况下BICUBIC可以获胜?(我的一些测试用例显示bicubic是更好的选择)Anoptionalresamplingfilter.ThiscanbeoneofNEAREST(usenearestneighbour),BILINEAR(linearinterpolationina2x2environment),BICUBIC(cubicsplineinterpolationina4x4envi

python - 插值忽略数组中的零值 - Python

我有两个相同长度的数组x=array([-243.,-242.,-241.,-240.,-239.,-238.,-237.,-236.,-235.,-234.,-233.,-232.,-231.,-230.,-229.,-228.,-227.,-226.,-225.,-224.,-223.,-222.,-221.,-220.,-219.,-218.,-217.,-216.,-215.,-214.,-213.,-212.,-211.,-210.,-209.,-208.,-207.,-206.,-205.,-204.,-203.,-202.,-201.,-200.,-199.,-198.,

python - 在独特的函数调用下重新缩放 Matplotlib imshow 中的 Axis

我写了一个函数模块,它接受两个变量的参数。为了绘制,我有x,y=pylab.ogrid[0.3:0.9:0.1,0.:3.5:.5]z=np.zeros(shape=(np.shape(x)[0],np.shape(y)[1]))foriinrange(len(x)):forjinrange(len(y[0])):z[i][j]=fancyFunction(x[i][0],y[0][j])pylab.imshow(z,interpolation="gaussian")我得到的图像如下:但是当我尝试通过pylab.imshow(z,interpolation="gaussian",ext

python - 使用径向基函数在球体上插值函数

首先,一些背景知识:我使用球谐函数作为球体表面的函数示例,例如本图中的前球体:我制作了其中一个球体,根据其表面各点的调和函数值着色。我首先对大量点执行此操作,因此我的函数非常准确。我将其称为我的fine球体。现在我有了我的fine球体,我在球体上取了相对较少的点。这些是我希望从训练数据中进行插值的点,我称它们为interp点。这是我的interp点,根据它们的值着色,绘制在我的fine球体上。现在,该项目的目标是使用这些interp点来训练SciPyRadialBasisFunction在球体上插入我的函数。我能够使用以下方法做到这一点:#Traintheinterpolationus

python - python中的有界圆插值

我的问题类似于问题here.简单来说,我有一个时间序列角度数据,它在[0,360]之间。我需要计算测量之间的迭代。目前,我正在使用scipy.interpolate.interp1d.为了使我的问题清楚,这里有一个例子,importnumpyasnpfromscipyimportinterpolatedata=np.array([[0,2,4],[1,359,1]])#firstrowtimeindex,secondrowanglemeasurementsf=interpolate.interp1d(data[0,:],data[1,:],kind='linear',bounds_er

python - 求三次 B 样条的长度

使用scipy的interpolate.splprep函数在参数u上得到参数样条,但是u的定义域不是spline,它是输入坐标的分段线性连接。我试过integrate.splint,但这只是给出了u上的单个积分。显然,我可以对一堆笛卡尔微分距离进行数值积分,但我想知道是否有闭合形式的方法来获取我忽略的样条曲线或样条曲线段的长度(使用scipy或numpy)。编辑:我正在寻找一种封闭形式的解决方案或一种非常快速的方法来收敛到机器精度的答案。我几乎放弃了数值求根方法,现在主要是在寻找一个封闭形式的答案。如果有人有任何集成椭圆函数的经验或能给我指出一个好的资源(Wolfram除外),那就太好