- 积分
- 3638
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2014-10-21
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 15195775117 于 2021-1-27 09:25 编辑
python和IDL的多项式拟合函数都是polyfit,
但有一处区别:IDL的返回值从低次项开始,python从高次项开始
其实我觉得IDL的设置更合理,因为返回值索引跟次数对应起来了:
IDL:y=a[0]+a[1]*x+a[2]*x^2+a[3]*x^3
python各项的次数和系数的索引之和不变:
python:y=a[0]*x**3+a[1]*x**2+a[2]*x+a[3]
import numpy as np
import matplotlib.pyplot as plt
x=np.arange(10)
y=1+2*x+3*x**2+4*x**3
a=np.polyfit(x,y,3)#多项式拟合
z=a[0]*x**3+a[1]*x**2+a[2]*x+a[3]
plt.scatter(x,y)
plt.plot(x,z)
plt.show()
|
|