欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    数值计算C语言常用小程序.docx

    • 资源ID:9086503       资源大小:17.11KB        全文页数:20页
    • 资源格式: DOCX        下载积分:12金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数值计算C语言常用小程序.docx

    1、数值计算C语言常用小程序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-m-1;retur

    3、n(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,k;scanf(%d%f,&n,&a);fo

    4、r(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(k=1;k=n;k+)s=s+fun(x);x

    5、=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=fun(x);for(k=1;k=n;k+)s=s+fun(x);x=x+h

    6、/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#includefloat fun(float,float);void main()float h,x0,y0,x1,y1,k1,k2;int n,N;scanf(%f%f%f%d,&x0,&y0,&h,&N);n=1;for(n=1;n=N;n+)x1=x0+h;k1=fun

    7、(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 n,N;scanf(%f%f%f%d,&x0,&y0,&h,&N);n=1;for(n=1;n=N;n+

    8、)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#includefloat fun(float,float);void main()float x0,y0,h,x1,y1,

    9、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 用迭代法求方程 在 附近的一个根 ,要求精度为程序:#include#includefloat fun(float);void main()float x

    10、0,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

    11、(k=1;k=N;k+)x1=fun(x0); x2=fun(x1); x2=x2-(x2-x1)*(x2-x1)/(x2-2*x1+x0); if(fabs(x2-x0)c) printf(%fn,x2); break; x0=x2;if(k-1=N)printf(Failure!n);float fun(float m)float n;n=exp(-m);return(n);运行结果:12、牛顿迭代法:例5、用牛顿法解方程牛顿公式为: ,取x=0.5程序:#include#includefloat fun(float);float ff(float);void main()float x0

    12、,x1,c;int k,N;scanf(%f%f%d,&x0,&c,&N);for(k=1;k=N;k+)if(ff(x0)!=0)x1=x0-fun(x0)/ff(x0);printf(%fn,x1); if(fabs(x1-x0)c) break; x0=x1; else printf(*);if(k=N)printf(Failure!n);float fun(float m)float n;n=m-exp(-m);return(n);float ff(float m)float n;n=1+m;return(n);运行结果:13、追赶法:P198.3.用追赶法求解下列方程组:程序:#in

    13、clude#includevoid main()float a100,b100,c100,d100,t;int i,n;scanf(%d,&n);for(i=2;i=n;i+)scanf(%f,&ai);for(i=1;i=n;i+)scanf(%f,&bi);for(i=1;i=n-1;i+)scanf(%f,&ci);for(i=1;i=n;i+)scanf(%f,&di);c1=c1/b1;d1=d1/b1;for(i=2;i=1;i-)di=di-ci*di+1;printf(%fn,di);运行结果:14、雅克比迭代程序:#include#include#define N 50#de

    14、fine M 4void main()double xM,yM,aMM,bM,dM,c,t;double ff(double ,int);int k,i,j,n;n=M-1;scanf(%lf,&c);for(i=0;i=n;i+)scanf(%lf,&xi);scanf(%lf,&bi);for(i=0;i=n;i+)for(j=0;j=n;j+)scanf(%lf,&a0i*M+j);for(k=1;k=N;k+)for(i=1;i=n;i+)for(j=1,t=0;j=n;j+)if(j=i)continue;elset=t+aij*xj;yi=(bi-t)/aii;for(i=1;i=

    15、n;i+)di=fabs(xi-yi);t=ff(d,n+1);if(tc) break;elsefor(i=1;i=n;i+)xi=yi;if(k=N)printf(Failure!n);if(kN)printf(k=%dn,k);for(i=1;i=n;i+)printf(yi=%fn,yi);double ff(double a,int n)double p; int t; p=a1;for(t=2;tn;t+)if(pat)p=at;return(p);运行结果:15、蛋白质设计:程序:#include #include #include void main()printf(横坐标 纵

    16、坐标 竖坐标n);FILE *fp;char c100,x30007,y30007,z30007;float a3000,b3000,d3000,r3000;int i,k=0,j,n=0,m,p;float X3000,Y3000,Z3000,s1=0,s2=0,s3=0,av_x,av_y,av_z;fp=fopen(1a1c.pdb,r);for(i=0;i=10000;i+)fgets(c,81,fp);if(c0=A&c1=T&c2=O&c3=M)for(j=0;j6;j+)xkj=c32+j;printf(%c,xkj);printf( );for(j=0;j6;j+)ykj=c4

    17、0+j;printf(%c,ykj);printf( );for(j=0;j6;j+)zkj=c48+j;printf(%c,zkj);printf( );Xk=atof(xk);s1+=Xk;Yk=atof(yk);s2+=Yk;Zk=atof(zk);s3+=Zk;printf(n);k+;if(c77=C) n+;av_x=s1/k;av_y=s2/k;av_z=s3/k;printf(共有:%dn,k+1);printf(av_x=%f,av_y=%f,av_z=%fn,av_x,av_y,av_z);printf(C原子个数为:%dn,n);printf(平移原点后的坐标:n);fo

    18、r(m=0;mk;m+)am=Xm-av_x;printf(%f ,am); bm=Ym-av_y;printf(%f ,bm);dm=Zm-av_z;printf(%f ,dm);rm=sqrt(am*am+bm*bm+dm*dm);printf(%f ,rm);printf(n);17高斯消去法:#include stdio.h#includemath.hmain()double a33=1,1,1,0,4,-1,2,-2,1,b3=6,5,1,x10=0;int i,j,k,n=3;for(k=0;kn-1;k+) for(i=k+1;in;i+) for(j=k+1;jn;j+) aij=aij-akj*aik/akk; bi=bi-bk*aik/akk; xn-1=bn-1/an-1n-1;for(i=2;i=n;i+) k=n-i; for(j=k+1;jn;j+) xk+=akj*xj; xk=(bk-xk)/akk;for(k=0;kn;k+)printf(x%d=%f,k,xk);


    注意事项

    本文(数值计算C语言常用小程序.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

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

    收起
    展开