数值计算C语言常用小程序文件

上传人:夏** 文档编号:486842864 上传时间:2023-01-03 格式:DOC 页数:20 大小:147KB
返回 下载 相关 举报
数值计算C语言常用小程序文件_第1页
第1页 / 共20页
数值计算C语言常用小程序文件_第2页
第2页 / 共20页
数值计算C语言常用小程序文件_第3页
第3页 / 共20页
数值计算C语言常用小程序文件_第4页
第4页 / 共20页
数值计算C语言常用小程序文件_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《数值计算C语言常用小程序文件》由会员分享,可在线阅读,更多相关《数值计算C语言常用小程序文件(20页珍藏版)》请在金锄头文库上搜索。

1、.1、 秦九韶算法 2、二分法 3、拉格朗日插值 4、埃特金算法 5、复化梯形法6、复化辛甫生算法 7、二阶龙格库塔方法 8、四阶龙格库塔方法 9、改进的欧拉方法 10、迭代法 11、埃特金加速方法:12、牛顿迭代法 13、追赶法14、雅克比迭代 15、蛋白质设计:17 高斯消去法:1、 秦九韶算法P11.3 利用秦九韶算法求多项式 ,在 x=3 时的值。程序:#include#includevoid main()float a100,v,x;int n,i,k;scanf(%d%f,&n,&x);for(i=0;i=n;i+)scanf(%f,&ai);v=an;k=1;dov=x*v+an

2、-k;k=k+1;while(k=n);printf(v=%f,v);运行结果:2、二分法.下载可编辑.P11.1 用二分法求方程法 x*x*x-x-1=0 在1,2的近似根,要求误差不超过#include#includefloat fun(float);void main()float a,b,c,x,y,y1;scanf(%f%f%f,&a,&b,&c);y1=fun(a);dox=(a+b)/2;y=fun(x);if(y*y10)a=x;elseb=x;while(b-a)=c);printf(%f,%fn,x,y);float fun(float m)float n;n=m*m*m-

3、m-1;return(n);运行结果:.下载可编辑.3、拉格朗日插值程序:#includemain()float a,b,t,x100,y100;int n,i,j,k;scanf(%f%d,&a,&n);for(i=0;i=n;i+)scanf(%f%f,&xi,&yi);k=0;b=0;for(k=0;k=n;k+)t=1;for(j=0;j=n;j+)if(j!=k)t=t*(a-xj)/(xk-xj);b=b+t*yk;printf(%fn,b);4、埃特金算法程序:#include#includemain().下载可编辑.float a,b,c,x100,y100;int i,j,n

4、,k;scanf(%d%f,&n,&a);for(i=0;i=n;i+)scanf(%f%f,&xi,&yi);for(k=1;k=n;k+)for(i=k;i=n;i+)yi=yk-1+(yi-yk-1)*(a-xk-1)/(xi-xk-1);printf(%fn,yn);5、复化梯形法P95.9 设 ,用复化梯形法求积分 的近似值程序:#include#includedouble fun(double);void main()double a,b,h,s,x,y;int n,k;scanf(%lf%lf%d,&a,&b,&n);h=(b-a)/n;s=0;x=a;y=fun(x);for(

5、k=1;k=n;k+)s=s+fun(x);.下载可编辑.x=x+h;s=s+fun(x);s=(h/2)*s;printf(s=%lfn,s);double fun(double m)double n;n=exp(-m)*sin(4*m)+1;return(n);运行结果:6、复化辛甫生算法P95.9 设 ,用复化辛甫生法求积分 的近似值程序:#include#includedouble fun(double);void main()double a,b,h,s,x,y;int n,k;scanf(%lf%lf%d,&a,&b,&n);h=(b-a)/n;s=0;.下载可编辑.x=a;y=f

6、un(x);for(k=1;k=n;k+)s=s+fun(x);x=x+h/2;s=s+4*fun(x);x=x+h/2;s=s+fun(x);s=(h/6)*s;printf(s=%lfn,s);double fun(double m)double n;n=exp(-m)*sin(4*m)+1;return(n);运行结果:7、二阶龙格库塔方法求解初值问题:取 h=0.2程序:#include#include.下载可编辑.float fun(float,float);void main()float h,x0,y0,x1,y1,k1,k2;int n,N;scanf(%f%f%f%d,&x0

7、,&y0,&h,&N);n=1;for(n=1;n=N;n+)x1=x0+h;k1=fun(x0,y0);k2=fun(x0+h/2,y0+h/2*k1);y1=y0+h*k2;printf(%f,%fn,x1,y1);x0=x1;y0=y1;float fun(float a,float b)float m;m=b-2*a/b;return(m);运行结果:8、四阶龙格库塔方法求解初值问题:取 h=0.2.下载可编辑.程序:#include#includefloat fun(float,float);void main()float h,x0,y0,x1,y1,k1,k2,k3,k4;int

8、 n,N;scanf(%f%f%f%d,&x0,&y0,&h,&N);n=1;for(n=1;n=N;n+)x1=x0+h;k1=fun(x0,y0);k2=fun(x0+h/2,y0+h/2*k1);k3=fun(x0+h/2,y0+h/2*k2);k4=fun(x1,y0+h*k3);y1=y0+h/6*(k1+2*k2+2*k3+k4);printf(%f,%f,x1,y1);x0=x1;y0=y1;float fun(float a,float b)float m;m=b-2*a/b;return(m);运行结果:.下载可编辑.9、改进的欧拉方法求解初值问题:程序:#include#i

9、ncludefloat fun(float,float);void main()float x0,y0,h,x1,y1,yp,yc;int n,N;scanf(%f%f%f%d,&x0,&y0,&h,&N);for(n=1;n=N;n+)x1=x0+h;yp=y0+h*fun(x0,y0);yc=y0+h*fun(x1,yp);y1=(yp+yc)/2;printf(%f,%f,x1,y1);x0=x1;y0=y1;float fun(float a,float b)float m;m=b-2*a/b;return(m);运行结果:.下载可编辑.10、迭代法P131 例 2 用迭代法求方程 在

10、 附近的一个根 ,要求精度为程序:#include#includefloat fun(float);void main()float x0,x1,c;int k,N;scanf(%f%f%d,&x0,&c,&N);for(k=1;k=N;k+)x1=fun(x0);printf(%fn,x1);if(fabs(x1-x0)c) break;x0=x1;if(k-1=N)printf(Failure!n);float fun(float m)float n;n=exp(-m);return(n);.下载可编辑.运行结果:11、埃特金加速方法:程序:#include#includefloat fun(float);void main()float x0,x1,x2,c;int k,N;scanf(%f%f%d,&x0,&c,&N);for(k=1;k=N;k+)x1=fun(x0);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号