欢迎来到天天文库
浏览记录
ID:35226939
大小:107.50 KB
页数:6页
时间:2019-03-22
《数学实验“等距节点插值hermite插值分段插值(线性二次三次)”实验报告(内含matlab程序)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、西京学院数学软件实验任务书课程名称数学软件实验班级数0901学号0912020107姓名李亚强实验课题等距节点插值,Hermite插值,分段插值(线性,二次,三次)实验目的熟悉等距节点插值,Hermite插值,分段插值(线性,二次,三次)实验要求运用Matlab/C/C++/Java/Maple/Mathematica等其中一种语言完成实验内容等距节点插值,Hermite插值,分段插值(线性,二次,三次)成绩教师-5-实验十六实验报告一、实验名称:等距节点插值,Hermite插值,分段插值(线性,二次,三次)。二、实验目的:进一步熟悉等距节点插
2、值,Hermite插值,分段插值(线性,二次,三次)。三、实验要求:运用Matlab/C/C++/Java/Maple/Mathematica等其中一种语言完成程序设计。四、实验原理:1.等距节点插值:差分分为前向差分、后向差分和中心差分三种,它们的记法及定义如下所示:阶前向差分公式阶后向差分公式阶中心差分公式其中:-前向差分;-后向差分;-中心差分。假设,为了方便计算,构造差分表()。这里只说明前向牛顿插值,其多项式可表示为如下形式:-5-其中为步长,,且的取值范围为。1.埃尔米特插值:埃尔米特插值法满足在节点上等于给定函数值,而且在节点上的
3、导数值也等于给定的导数值,对于有高阶导数的情况,埃尔米特插值多项式比较复杂,在实际应用中,常常遇到的是函数值与一阶导数值给定的情况,在这种情况下,个节点的埃尔米特插值多项式的表达形式如下所示:其中2.分段插值:给定插值节点、节点函数值及对应的导数值,则满足下面条件的分段埃尔米特插值函数的表达式如下所示:-5-一、实验内容:%等距节点插值function[f,f0]=dengjujiedian(x,y,x0)symst;if(length(x)==length(y))n=length(x);c(1:n)=0.0;elsedisp('x和y的维数不
4、相等!');return;endf=y(1);y1=0;xx=linspace(x(1),x(n),(x(2)-x(1)));if(xx~=x)disp('节点之间不是等距的!');return;endfor(i=1:n-1)for(j=1:n-i)y1(j)=y(j+1)-y(j);endc(i)=y1(1);l=t;for(k=1:i-1)l=l*(t-k);end;f=f+c(i)*l/factorial(i);simplify(f);-5-y=y1;endf0=subs(f,'t',(x0-x(1))/(x(2)-x(1)));%埃尔米
5、特插值function[f,f0]=Hermite(x,y,y_1,x0)symst;f=0.0;if(length(x)==length(y))if(length(y)==length(y_1))n=length(x);elsedisp('y和y的导数的维数不相等!');return;endelsedisp('x和y的维数不相等!');return;endfori=1:nh=1.0;a=0.0;forj=1:nif(j~=i)h=h*(t-x(j))^2/((x(i)-x(j))^2);a=a+1/(x(i)-x(j));endendf=f+
6、h*((x(i)-t)*(2*a*y(i)-y_1(i))+y(i));endf0=subs(f,'t',x0);%分段差值function[f,f0]=fenduan(x,y,y_1,x0)symst;f=0.0;-5-f0=0.0;if(length(x)==length(y))if(length(y)==length(y_1))n=length(x);elsedisp('y和y的导数的维数不相等!');return;endelsedisp('x和y的维数不相等!');return;endfori=1:nif(x(i)<=x0)&&(x(i
7、+1)>=x0)index=i;break;endendh=x(index+1)-x(index);fl=y(index)*(1+2*(t-x(index))/h)*(t-x(index+1))^2/h/h+...y(index+1)*(1-2*(t-x(index+1))/h)*(t-x(index))^2/h/h;fr=y_1(index)*(t-x(index))*(t-x(index+1))^2/h/h+...y_1(index+1)*(t-x(index+1))*(t-x(index))^2/h/h;f=fl+fr;f0=subs(f
8、,'t',x0);-5-
此文档下载收益归作者所有