数值分析-源代码

数值分析-源代码

ID:22338074

大小:70.50 KB

页数:18页

时间:2018-10-28

数值分析-源代码_第1页
数值分析-源代码_第2页
数值分析-源代码_第3页
数值分析-源代码_第4页
数值分析-源代码_第5页
资源描述:

《数值分析-源代码》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、一,三次样条插值#include#includevoidready(double*&A,double*&B,double*h,double*y,intm,intn,doublem0=0,doublemn=0){A=newdouble[n];B=newdouble[n];if(m==2){A[0]=0;B[0]=2*m0;A[n]=1;B[n]=2*mn;}else{A[0]=1;B[0]=3*(y[1]-y[0])/h[0];A[n]=0;B[n]=3*(y[n]-y[n-1])/h[n-1];}for(inti=1;i

2、+){A[i]=h[i-1]/(h[i-1]+h[i]);B[i]=3*((1-A[i])*(y[i]-y[i-1])/h[i-1]+A[i]*(y[i+1]-y[i])/h[i]);}}voidcalculate1(double*&a,double*&b,double*A,double*B,intn){a=newdouble[n];b=newdouble[n];a[0]=-A[0]/2;b[0]=B[0]/2;for(inti=1;i<=n;i++){a[i]=-A[i]/(2+(1-A[i])*a[i-1]);b[i]=(B[i]-(1-A[i])*b[i-1])/(2

3、+(1-A[i])*a[i-1]);}}voidcalculate2(double*&m,double*a,double*b,intn){m=newdouble[n+1];m[n+1]=0;for(inti=n;i>=0;i--)m[i]=m[i+1]*a[i]+b[i];}voidmain(){inte,t,w,v;out:cout<<"求三次样条插值函数:"<>e;double*x,*y,*h,*A,*B,*a,*b,*m,s0,sn,u,s;cout<<"请输入x的一系列值:"<

4、double[e];for(inti=0;i>x[i];cout<<"请输入y的一系列值:"<>y[f];h=newdouble[e];for(intd=0;d>t;if(t!=1&&t!=2){cout<<"输入信息错误!请重新输入!"<<

5、endl;gotoloop;}if(t==1)ready(A,B,h,y,t,e);else{cout<<"请输入s'(x0),s'(xn)的值:"<>s0>>sn;ready(A,B,h,y,t,e,s0,sn);}calculate1(a,b,A,B,e);calculate2(m,a,b,e);in:cout<<"请输入所需要计算的x的值:("<>u;if(u

6、

7、u>x[e-1]){cout<<"输入数据错误!"<

8、e;c++){if(u>x[c]&&u

9、(u-x[w])*(u-x[w])/((x[w+1]-x[w])*(x[w+1]-x[w])))*m[w+1];cout<<"f("<>v;if(v!=1&&v!=2){cout<<"输入错误!请重新输入!"<

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。