二次曲线拟合
来源:互联网 发布:淘宝最厉害的算命 编辑:程序博客网 时间:2024/04/30 15:46
解此方程得到在均方误差最小意义下的拟合函数p(x),上述方程组称为多项式拟合的法方程,法方程的系数矩阵是对称的。当拟保多项式阶n>5时,法方程的系数矩阵是病态的,在计算中要用双精度或者一些特殊算法以保护解得准确性。
示例:
给定一组数据,用二次多项式函数拟合这组数据
散点图如下所示:
程序如下:
#############################################Edit by wd,2013,4,16############################################import matplotlib.pyplot as pltimport numpy as npx = [-3,-2,-1,0,1,2,3]y = [4,2,3,0,-1,-2,-5]if len(x) != len(y): exitm = len(x)def matrix_n(alist=[],n=0): llen = len(alist) r_list = [0]*llen for i in range(llen): r_list[i] = alist[i] ** n return r_listx_0 = [1]*mx_2 = matrix_n(x,2)x_3 = matrix_n(x,3)x_matrix = np.matrix((x_0,x,x_2),dtype=np.int)print x_matrixy_matrix = np.matrix((y),dtype=np.int)y_matrix = y_matrix.Tx_matrix_t = x_matrix.Tprint x_matrix_tout = ((x_matrix * x_matrix_t)** -1)*(x_matrix * y_matrix)print out'''[[ 0.66666667][-1.39285714][-0.13095238]]'''plt.plot(x,y,"ro")#plt.show()xx = np.linspace(-5,5,5)yy = -0.13095238*xx*xx + -1.39285714*xx + 0.66666667plt.plot(xx,yy,label="$-0.13095238*xx*xx + -1.39285714*xx + 0.66666667$",color="red",linewidth=3)plt.show()
散点图如下:
拟合之后的图:
http://app.yinxiang.com/l/AAyZJPfRzx9DcYIHqBAbd3twRVsyJ45pzno/
参考文献:
http://wenku.baidu.com/view/bc6b75630b1c59eef8c7b442.html
0 0
- 二次曲线拟合
- 图像处理中二次曲线拟合
- 一元二次曲线拟合的最小二乘python实现
- 直线拟合、二次曲线拟合、折线拟合和KNN近邻(附代码)
- svg 二次曲线
- 拟合
- 拟合
- 拟合
- 解析几何:第五章 二次曲线(2)抛物线 一般二次曲线
- HTML5中canvas的二次曲线用法
- 【Html5每日练习】canvas quadraticCurve二次曲线深入理解
- Quartz 2D之贝塞尔曲线和二次曲线
- 解析几何:第五章 二次曲线(1)圆 椭圆 双曲线
- MVG读书笔记——射影几何下的二次曲线
- 疯狂讲义随笔——使用二次曲线quadraticCurveTo()画花朵
- 拟合算法
- 最小二乘法拟合
- 多项式拟合
- Codeforces Round #283 (Div. 1)
- NGUI 3.5教程(四)Atlas和Sprite(制作图片按钮)
- MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践
- 黑马程序员11--Object-C--07--Block
- GDAL1.11.1 和Python2.7安装
- 二次曲线拟合
- 为什么绝大多数创业公司活不过5年?
- 只运行一个应用程序的实例
- Java基础——GUI
- 最近的一次敏捷项目Scrum经验总结
- iOS中深拷贝和浅拷贝的3种理解和1个注意点
- NGUI 3.5教程(六)Font字体
- 数字排列
- mongodb基础知识(图片)