我想在参数Bspline的边界上对导数施加条件。
r=[1.08,1.08, 0.987, 0.82, 0.734, 0.692, 0.40]
phi=np.linspace(0,np.pi/2,len(r))
x, y = r*np.cos(phi), r*np.sin(phi)
l, r = [(1, 0)], [(1, 0)]
spl = make_interp_spline(phi, np.c_[x, y], bc_type=(l,r))
我遇到了ValueError:“无法将大小为1的数组重塑为形状(2)”,与rhs [:nleft] = deriv_l_vals.reshape(-1,extradim)
我怀疑我以错误的方式强加了BC。但是在阅读文档时,我仅看到以这种方式强加BC(对于笛卡尔坐标中的样条曲线)。 没有明确提及如何在参数曲线中执行此操作。
有人知道如何解决吗?我会避免以非参数形式重写所有内容。...
答案 0 :(得分:0)
自我回答:如怀疑那样,BC的施加方式错误:显然,需要两个组成部分... 例如
l, r = [(1, (0,-1))], [(1, (1,0))]