s()是什么意思? [重复]

问题描述 投票:-2回答:2

这个问题在这里已有答案:

我无法理解s(xx)在此代码中的作用。

import numpy as np
import matplotlib.pyplot as plt
import scipy.signal as sps
import scipy.interpolate as spi

# plot cubic cardinal B-spline (knots 0, 1, 2, 3, 4)
p = 3
xx = np.linspace(0, p+1, 100)
yy = sps.bspline(xx - (p+1)/2, p)
plt.plot(xx, yy)
plt.show()

# plot cubic non-uniform spline (m=5 DOFs)
xi = [0, 1, 3, 4, 6, 7, 8, 10, 11]
c = [2, -1, 1, 0, 1]
s = spi.BSpline(xi, c, p)
m = len(c)
xx = np.linspace(xi[p], xi[m])
yy = s(xx)
plt.plot(xx, yy)
plt.show()

我试图只运行s(xx)部分,看看s()做了什么,但它是抛出错误s()没有定义,但当我执行整个代码,它的工作原理。

python bspline
2个回答
2
投票

看,它来自上面几行:

s = spi.BSpline(xi, c, p)

spi.BSpline按照docs返回一个可调用对象,它被调用如下:

s(xx)

2
投票

这是你自己定义的程序中的s = spi.BSpline(xi, c, p)。 python for s中没有其他特定的东西。

© www.soinside.com 2019 - 2024. All rights reserved.