【发布时间】:2018-05-28 19:16:40
【问题描述】:
import matplotlib.pylab as plt
import numpy as np
#initial data
data=np.loadtxt('profile_nonoisebigd02.txt')
x=data[:,0]
y=data[:,1]
#first derivatives
dx= np.gradient(data[:,0])
dy = np.gradient(data[:,1])
#second derivatives
d2x = np.gradient(dx)
d2y = np.gradient(dy)
#calculation of curvature from the typical formula
curvature = np.abs(dx * d2y - d2x * dy) / (dx * dx + dy * dy)**1.5
谁能帮我看看我的曲率哪里出了问题? 这组点给了我一条抛物线,但曲率不是我所期望的。
【问题讨论】:
-
好像两张图是一样的。
-
我的代码得到了预期的结果。你能贴出你用来创建这两个图的 sn-p 吗?
-
plt.scatter(x,y) 用于初始图,plt.scatter(x,curvature) 用于曲率图。
-
仍然无法重现您的问题。考虑发布
data的子集,可能类似于data[::data.shape[0]//25]。 -
@YakymPirozhenko 我已经添加了整个数据文件。 Btw 是 d2x, d2y 计算正确吗?