合肥工业大学计算机与信息学院实验报告课程:计算方法专业班级:学号:姓名:Java界面其实都不难按照程序流程图就可以完成了实验一插值与拟合一、实验目的(1)明确插值多项式和分段插值多项式各自的优缺点;(2)编程实现三次样条插值算法,分析实验结果体会高次插值产生的龙格现象;(3)理解最小二乘拟合,并编程实现线性拟合,掌握非线性拟合转化为线性拟合的方法(4)运用常用的插值和拟合方法解决实际问题
二、实验内容(1)对于f(x)=1/(1+x*x)实现三次样条插值(2)实现最小二乘法的直线拟合数据如下:165123150123141187126172125148三、基本原理(计算公式)(1)三次样条插值在每个内节点上具有2阶导数
(2)最小二乘法拟合直线为y=a+bx,而a,b有如下等式(N为给出的数据点的总个数);四、算法设计与实现(流程图,关键点)最小二乘法直线拟合:输入数据后,按照公式计算a,b
用得到的拟合直线计算预测点的近似函数值
五、输入与输出(1)三次样条插值输入:区间长度,n+1个数据点,预测点输出:预测点的近似函数值,精确值,及误差(2)最小二乘法直线拟合输入:n个数据点,预测点输出:预测点的近似函数值六、结果讨论和分析代码三次样条插值#include#include#defineN10usingnamespacestd;doubleu0(doublex){return(x-1)*(x-1)*(2*x+1);}doubleu1(doublex){returnx*x*(3-2*x);}doublev0(doublex){returnx*(x-1)*(x-1);}doublev1(doublex){returnx*x*(x-1);}doubles3(doublex,doubley,doubley1,doublem,doublem1,doubleh){returnu0(x