数值计算方法实习报告.doc_第1页
数值计算方法实习报告.doc_第2页
数值计算方法实习报告.doc_第3页
数值计算方法实习报告.doc_第4页
数值计算方法实习报告.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数值计算方法实习报告学院:电气信息工程学院班级:电气xxxx学号:xxxxxxxxxxxx姓名:xxxxxxxxxx1、试用快速弦截法求此根,要求精确到小数点后第3位。#include#include#define PI 3.1415float f(float x)float y;y=x-cos(x);return (y);main()float x0=0,x1=PI/2,e=0.001,f0,f1,x2,f2;clrscr();f0=f(x0);f1=f(x1);while(fabs(f1)e) x2=x1-(x1-x0)*f1/(f1-f0);f2=f(x2);x0=x1;x1=x2;f0=f1;f1=f2;printf(%f,x2);运行结果:0.7395672、设 ,用Gauss-Jordan消元法求方程组的解。、#include#includemain( )floata44=0,0,0,0,0,3,1,1,0,2,2.0/3,1.0/3,0,1,2,-1 ,b4=0,8,5,-2,s,t,max; int i,j,l,k; clrscr(); for(k=1;k=3;k+) max=fabs(akk); l=k; for(i=k;imax) max=fabs(aik); l=i; if(alk=0) printf(qi yi ju zhen.); break; if(l!=k) for(j=k;j=3;j+) t=akj;akj=alj;alj=t; s=bl; bl=bk; bk=s; for(j=k+1;j=3;j+) akj=akj/akk; bk=bk/akk; for(i=1;i=3;i+) if(i=k) continue; bi=bi-aik*bk; for(j=k+1;j=3;j+) aij=aij-aik*akj; printf(x1=%fn,b1); printf(x2=%fn,b2); printf(x3=%fn,b3);运行结果:x1=3.000000 X2=-2.000000 X3=1.000000 3、已知函数表xi0.561600.562600.563600.56460yi0.827410.826590.825770.82495试用牛顿插值法求时的函数值。 #includemain()float x4=0.56160,0.56260,0.56360,0.56460,y4=0.82741,0.82659,0.82577,0.82495,z4,u,v;int i,j,n=3;clrscr();for(i=0;i=n;i+)zi=yi;for(i=1;i=n;i+)for(j=i;j=n;j+)yi=(zj-zj-1)/(xj-xj-i);for(j=i;j=0;i-)v=v*(u-xi)+yi;printf(u=%f,v=%f,u,v);运行结果:输入:0,5635 输出:u=0.563500,v=0.825851 4、 用龙贝格方法求积分,要求误差不超过。#include#includemain() float f(float x);int k,j,n,d,i;float a,b,e,h,c,m,T100,s;clrscr();printf(input a,b and en);scanf(a=%f,b=%f,e=%f,&a,&b,&e);k=0;n=1;h=b-a;T0=h/2*(f(a)+f(b);c=T0;k=k+1;m=0;for(i=1;i=1;j-) d=4*d; Tj-1=Tj+(Tj-Tj-1)/(d-1);while(fabs(c-T0)e) n=2*n;h=h/2;c=T0;k=k+1;m=0;for(i=1;i=n;i+) m=m+f(a+(i-1.0/2)*h);Tk=1.0/2*(Tk-1+h*m);d=1;s=2.0/sqrt(3.1415)*T0;printf(s=%fn,s);float f(float x) float y;y=exp(-x);return y;运行结果:输入:a=0,b=1,e=0.001 输出:s=0.7135235、 用经典龙格库塔法求解下列微分方程组 的初值问题。#include#includevoid main()int i,j;double h,t,te,y1,y2,tw,w1,w2,k1,k2,yw1,yw2,u10;h=0.1;t=0.0;te=1.0;printf(input y1,y2:n);scanf(%f,%f,&y1,&y2);u1=0.5*h;u2=0.5*h;u3=h;u4=h;u5=0.5*h;do tw=t;w1=y1;w2=y2;yw1=y1;yw2=y2; for(j=1;j=4;j+) k1=-y1-2+2*exp(-t); k2=3*y1+4*y2+exp(-t); t=tw+uj; w1=yw1+uj*k1;y1=y1+uj+1*k1/3.0; w2=yw2+uj*k2;y2=y1+uj+1*k2/3.0; printf(t=%fy1=%fy2=%fn,t,y1,y2);while(t=te);运行结果 : (此处截图有问题,需将步长h改为0.05后运行,貌似是正常的,学姐只能帮你到这儿了)实习总结在这五天的实习中,虽然时间比较短,我却在这几天中学到了很多书本上都学不到的东西。它从各方面都锻炼了我的能力,总结如下:1、 对我们最直接最直观的帮助是加强了我们对c语言运用的熟练度、对编写程序的掌握度,弥补了我们半年没有学习c语言的缺陷,让我们在编程的道路上走得更宽更远。2、 实习过程中自学数值计算方法这本书,很好地锻炼了我们的自学能力。通过对教材的解读和剖析,我能够自己看懂各种原理和方法了,学习了很多处理数据的有效方法,如牛顿迭代法、龙贝格法,让我们在以后的学习中能够更好地运用这些方法处理数学问题和生活中的很多复杂运算,对我们有相当大的帮助。3、 通过阅读教材,来编写程序,锻炼了我们的实际运用和举一反三的能力。这是一个需要反复思考推敲的过程。在编程过程中常常因为一些小错误而编写程序失败,需要反复的检查和尝试,最终才能得出正确的程序,成功运行得到正确的答案。这个过程不仅仅是锻炼了我们思考改错的能力,更是极大地锻炼了我们的耐心和动手能力,帮助我们将来更好地应对一些实际问题。4、 实习过程中除了自学,我们更是加强了相互之间的学习和交流,通过交流和讨论相互取长补短,共同进退。一方面是锻炼了我们的交流能力和表述能力,一方面更是增强了班级的凝聚力,营造了一种相当浓郁的学习氛围,对良好班风的形成起到了很大的促进作用。五天的学习即将结束,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论