三次样条算法.docVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
三次样条算法

一、实验目的和要求 掌握三次样条方法的原理,加深对插值方法的理解 能构造出正确的结构并能实现。 二、实验内容和原理 三次样条插值 解决具体问题:对于函数 ,取等距节点,设已给出节点上的函数值以及左右两个端点的一阶导数值,按上述算法进行样条插值。 实验原理: (1)、三次样条的定义: 设在[a,b]上有n+1个节点,f(xi)= yi,i=0,1,2,…,n。若S3(x)满足 1) S3(x)在每个[xi,xi+1](i=0,1,…,n-1)上是不高于三次的多项式; 2) S3(x), , 在[a,b]上连续; 3) S3(xi)=yi(i=0,1,…,n)。 则称S3(x)为f(x)关于节点x0,x1,…,xn的三次样条插值函数。 (2)、三次样条插值函数的边界条件: 待定系数个数:4n 已知条件: 补充条件:这两个条件通常在区间[a,b]的两个端点给出,称为边界条件 (3)、三次样条插值函数的求法: 得到系数矩阵,利用追赶法求解 利用式(1)求解 (4)、追赶法: 追的过程(消元过程) 赶的过程(回代过程) 三、算法框图与程序框图 (1)、算法框图: (2)、程序框图 三次样条 追赶法 四、实验数据#include iostream #includeiomanip using namespace std; double x[100]={0}; double y[100]={0}; int N; int n; double M0,Mn; double c[100]={0}; double p[100]={0}; double h[100]={0}; double d[100]={0}; double a[100]={0}; double X; double G0,G1,W0,W1,S3; int main() { //输入数据 cout输入节点的数目; cinN; n=N-1; cout输入各个节点以及节点的值; for(int i=0;i=n;i++) { coutendlsetw(15)x[i]=; cinx[i]; coutsetw(15)y[i]=; ciny[i]; } cout输入两个端点的一阶导数值; coutendlsetw(15)M0=; cinM0; coutsetw(15)Mn=; cinMn; //用(39)式计算值 for(int i=0;in;i++) h[i]=x[i+1]-x[i]; for(int j=1;jn;j++) { c[j]=h[j-1]/(h[j-1]+h[j]); p[j]=3*((1-c[j])*(y[j]-y[j-1])/h[j-1]+c[j]*(y[j+1]-y[j])/h[j]); // coutp[j] ; } //用追赶法求解 //表示d[i]; d[0]=M0; d[1]=p[1]-(1-c[1])*M0; for(int i=2;i=n-2;i++) { d[i]=p[i]; } d[n-1]=p[n-1]-c[n-1]*Mn; d[n]=Mn; //表示a[i]; for(int j=2;j=n-1;j++) { a[j]=1-c[j]; } //按照框图6-4计算,其中b[i]=2; double b=2; c[1]=c[1]/b; d[1]=d[1]/b; int k=0; double t=0; for(k=2;k=n-2;k++) { t=b-c[k-1]*a[k]; c[k]=c[k]/t; d[k]=(d[k]-d[k-1]*a[k])/t; } d[n-1]=(d[n-1]-d[n-2]*a[n-1])/(b-c[n-2]*a[n-1]); for(int i=n-2;i=1;i--) { d[i]=d[i]-c[i]*d[i+1];

文档评论(0)

xy88118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档