ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:74.97KB ,
资源ID:20050717      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/20050717.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(二次样条插值及其C语言的实现文档格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

二次样条插值及其C语言的实现文档格式.docx

1、 /v11用于存放110,g12用于存放g0g11 int i,j=0; int AllD=1; /三角对阵的行列式 double Mv=1,Mu=1; /Mv表示1*2*10,Mu表示1*2*10 double M12,X311,X211,X111,X011; /M12用于存放M0M11,X311用于存放x3的系数,X211用于存放x2的系数, /X111用于存放x的系数,X011用于存放常数项的系数 printf(Please input x(i):n); for(i=0;i12;i+) xi=0;i+) scanf(%lf,&xi);Please input y(i):yi); for(

2、i=1;11;i+) ui=(xi-xi-1)/(xi+1-xi-1); /110的求解公式 vi=1-ui; /110的求解公式 gi=(6/(xi+1-xi-1)*(yi+1-yi)/(xi+1-xi)-(yi-yi-1)/(xi-xi-1); /g1g10的求解公式 g0=(6/(x1-x0)*(y1-y0)/(x1-x0)-0.75); /g0的求解公式 g11=(6/(x11-x10)*(18-(y11-y10)/(x11-x10); /g11的求解公式u(1) to u(10): printf( %f , ui); j+; if(j%4=0) printf( j=0;v(1) to

3、 v(10):, vi);g(0) to g(11):, gi);=12; AllD=AllD*2;=10; Mv=Mv*vi; Mu=Mu*ui; /采用克拉默法则进行线性方程组的求解xi=Di/D double D12; D0=g0*AllD/2+Mv*g11; D11=g11*AllD/2+Mu*g0;i+) Di=gi*AllD/2;=11;i+) Mi=Di/AllD; X3i=(Mi-Mi-1)/(6*(xi-xi-1); /计算想x3系数的公式 X2i=(xi*Mi-1-xi-1*Mi)/(2*(xi-xi-1); /计算想x2系数的公式 X1i=(-xi*xi*Mi-1+xi-

4、1*xi-1*Mi)/(2*(xi-xi-1)+(yi-(Mi*(xi-xi-1)*(xi-xi-1)/6)-(yi-1-(Mi-1*(xi-xi-1)*(xi-xi-1)/6)/(xi-xi-1); /计算想x系数的公式 X0i=xi*xi*xi-xi-1*xi-1*xi-1-(yi-(Mi*(xi-xi-1)*(xi-xi-1)/6)*xi-1)/(xi-xi-1)+(yi-1-(Mi-1*(xi-xi-1)*(xi-xi-1)/6)*xi)/(xi-xi-1); /计算常数项的公式 %.2f, %.2f :,xi,xi+1);S= %fx3+%fx2+%fx+%fn,X3i+1,X2i+

5、1,X1i+1,X0i+1); 、最小二乘拟合函数:由散点图,设想y=f(x)是双曲型的,并且具有下面的形式y=。做变量替换y1=,x1=,则式变为y1=a+b*x1。i1234567x1(i)=0.052630.040000.032260.026320.022730.018190.01852y1(i)=0.030960.020410.013640.010120.009280.00835解方程组即由克拉默法则解得a=-0.024,b=1.4878代入式,得经验方程y=#include malloc.hmath.hSmooth(double *x,double *y,double *a,int

6、n,int m,double *dt1,double *dt2,double *dt3);void main() int i ,n ,m ;double *x,*y,*a,dt1,dt2,dt3,b;n = 7;m =3;b = 0;x = (double *)calloc(n,sizeof(double);if(x = NULL) printf(内存分配失败nexit (0); y = (double *)calloc(n,sizeof(double);if(y = NULL) a = (double *)calloc(n,sizeof(double);if(a = NULL) x0=19;

7、x1=25;x2=31;x3=38;x4=40;x5=50;x6=54;y0=19.0;y1=32.3;y2=49.0;y3=73.3;y4=98.8;y5=107.8;y6=119.7;Smooth(x,y,a,n,m,&dt1,&dt2,&dt3);for(i=1;=m;i+) a%d = %.10fn,(i-1),ai-1);拟合多项式与数据点偏差的平方和为:%.10en,dt1);拟合多项式与数据点偏差的绝对值之和为:,dt2);拟合多项式与数据点偏差的绝对值最大值为:,dt3);free(x);free(y);free(a);Smooth(double *x,double *y,do

8、uble *a,int n,int m,double *dt1,double *dt2,double *dt3)int i ,j ,k ;double *s,*t,*b,z,d1,p,c,d2,g,q,dt;s = (double *)calloc(n,sizeof(double);if(s = NULL) t = (double *)calloc(n,sizeof(double);if(t = NULL) b = (double *)calloc(n,sizeof(double);if(b = NULL) z = 0;=n;z=z+xi-1/n;b0=1;d1=n;p=0;c=0;p=p+x

9、i-1-z;c=c+yi-1;c=c/d1;p=p/d1;a0=c*b0;if(m1) t1=1;t0=-p;d2=0;g=0;q=xi-1-z-p;d2=d2+q*q;c=yi-1*q+c;g=(xi-1-z)*q*q+g;c=c/d2;p=g/d2;q=d2/d1;d1=d2;a1=c*t1;a0=c*t0+a0;for(j=3;j=4) for(k=j-2;k=2;k-) sk-1=-p*tk-1+tk-2-q*bk-1;s0=-p*t0-q*b0;q=sj-1;for(k=j-1;=1;q=q*(xi-1-z)+sk-1;aj-1=c*sj-1;tj-1=sj-1;ak-1=c*sk-

10、1+ak-1;bk-1=tk-1;tk-1=sk-1;*dt1=0;*dt2=0;*dt3=0;q=am-1;for(k=m-1;q=q*(xi-1-z)+ak-1;dt=q-yi-1;if(fabs(dt)*dt3) *dt3=fabs(dt);*dt1=*dt1+dt*dt;*dt2=*dt2+fabs(dt);free(s);free(t);free(b);return(1);4、上机调试说明: 、三次样条差值函数:5、心得体会:通过此次试验我加深了对三次样条插值和曲线拟合的最小二乘法的理解,明白到计算机科学对数值计算的作用,即计算机能极大地减轻人的工作量,但这必须建立在能熟练编程的基础上。所以二者能否完美地结合取决于我们是否弄清问题本质并用计算机语言表达出来。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1