本文主要是介绍用python或者octave绘制RD曲线,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
对于穷人而言,是用不起昂贵的Matlab的。其实可以用开源的octave或者python来替代。
而用python或者octave绘制RD曲线时,绘制的折线,要么不平滑,要么绘制的曲线有抖动。其实是有解决办法的。
使用octave绘制平滑折线
其实在octave上,有个pchip的函数,
yi = pchip (x, y, xi)
或者在interp1中使用pchip method。
yi = interp1 (x, y, xi, "pchip")
这样绘制的就是平滑的折线了。
使用python绘制平滑折线
在python的scipy上,有个pchip_interpolate的函数。
pchip_interpolate函数的定义如下
scipy.interpolate.pchip_interpolate(xi, yi, x, der=0, axis=0)
import matplotlib.pyplot as plt
from scipy.interpolate import pchip_interpolate
x_observed = np.linspace(0.0, 10.0, 11)
y_observed = np.sin(x_observed)
x = np.linspace(min(x_observed), max(x_observed), num=100)
y = pchip_interpolate(x_observed, y_observed, x)
plt.plot(x_observed, y_observed, "o", label="observation")
plt.plot(x, y, label="pchip interpolation")
plt.legend()
plt.show()
参考链接:
- https://octave.org/doc/v4.2.2/Signal-Processing.html#XREFpchip
- https://octave.org/doc/v4.2.2/One_002ddimensional-Interpolation.html
- https://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.pchip_interpolate.html#scipy.interpolate.pchip_interpolate
这篇关于用python或者octave绘制RD曲线的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!