数值计算方法实习报告 本文关键词:数值,计算方法,实习报告
数值计算方法实习报告 本文简介:数值计算方法实习报告学院:电气信息工程学院班级:电气xxxx学号:xxxxxxxxxxxx姓名:xxxxxxxxxx1、试用快速弦截法求此根,要求精确到小数点后第3位。#include#include#definePI3.1415floatf(floatx){floaty;y=x-cos(x);re
数值计算方法实习报告 本文内容:
数值计算方法实习报告
学院:电气信息工程学院
班级:电气xxxx
学号:xxxxxxxxxxxx
姓名:xxxxxxxxxx
1、试用快速弦截法求此根,要求精确到小数点后第3位。
#include
#include
#define
PI
3.1415
float
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.739567
2、设
,,用Gauss-Jordan消元法求方程组的解。、
#include
#include
main(
)
{float
a[4][4]={0,0,0,0,0,3,1,1,0,2,2.0/3,1.0/3,0,1,2,-1
},b[4]={0,8,5,-2},s,t,max;
int
i,j,l,k;
clrscr();
for(k=1;kmax)
{
max=fabs(a[i][k]);
l=i;
}
if(a[l][k]==0)
{
printf(“qi
yi
ju
zhen.“);
break;
}
if(l!=k)
{
for(j=k;j
main()
{float
x[4]={0.56160,0.56260,0.56360,0.56460},y[4]={0.82741,0.82659,0.82577,0.82495},z[4],u,v;
int
i,j,n=3;
clrscr();
for(i=0;i=0;i--)
v=v*(u-x[i])+y[i];
printf(“u=%f,v=%f“,u,v);
}
运行结果:输入:0,5635
输出:u=0.563500,v=0.825851
4、
用龙贝格方法求积分,要求误差不超过。
#include
#include
main()
{
float
f(float
x);
int
k,j,n,d,i;
float
a,b,e,h,c,m,T[100],s;
clrscr();
printf(“input
a,b
and
e/n“);
scanf(“a=%f,b=%f,e=%f“,k=0;n=1;h=b-a;
T[0]=h/2*(f(a)+f(b));c=T[0];
k=k+1;
m=0;
for(i=1;i=1;j--)
{d=4*d;
T[j-1]=T[j]+(T[j]-T[j-1])/(d-1);}
while(fabs(c-T[0])>e)
{
n=2*n;
h=h/2;c=T[0];
k=k+1;
m=0;
for(i=1;i
#include
void
main()
{
int
i,j;
double
h,t,te,y1,y2,tw,w1,w2,k1,k2,yw1,yw2,u[10];
h=0.1;t=0.0;te=1.0;
printf(“input
y1,y2:/n“);
scanf(“%f,%f“,u[1]=0.5*h;u[2]=0.5*h;u[3]=h;u[4]=h;u[5]=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+u[j];
w1=yw1+u[j]*k1;y1=y1+u[j+1]*k1/3.0;
w2=yw2+u[j]*k2;y2=y1+u[j+1]*k2/3.0;
}
printf(“t=%fy1=%fy2=%f/n“,t,y1,y2);}
while(t<=te);}
运行结果
:
(此处截图有问题,需将步长h改为0.05后运行,貌似是正常的,学姐只能帮你到这儿了)
实习总结
在这五天的实习中,虽然时间比较短,我却在这几天中学到了很多书本上都学不到的东西。它从各方面都锻炼了我的能力,总结如下:
1、
对我们最直接最直观的帮助是加强了我们对c语言运用的熟练度、对编写程序的掌握度,弥补了我们半年没有学习c语言的缺陷,让我们在编程的道路上走得更宽更远。
2、
实习过程中自学数值计算方法这本书,很好地锻炼了我们的自学能力。通过对教材的解读和剖析,我能够自己看懂各种原理和方法了,学习了很多处理数据的有效方法,如牛顿迭代法、龙贝格法,让我们在以后的学习中能够更好地运用这些方法处理数学问题和生活中的很多复杂运算,对我们有相当大的帮助。
3、
通过阅读教材,来编写程序,锻炼了我们的实际运用和举一反三的能力。这是一个需要反复思考推敲的过程。在编程过程中常常因为一些小错误而编写程序失败,需要反复的检查和尝试,最终才能得出正确的程序,成功运行得到正确的答案。这个过程不仅仅是锻炼了我们思考改错的能力,更是极大地锻炼了我们的耐心和动手能力,帮助我们将来更好地应对一些实际问题。
4、
实习过程中除了自学,我们更是加强了相互之间的学习和交流,通过交流和讨论相互取长补短,共同进退。一方面是锻炼了我们的交流能力和表述能力,一方面更是增强了班级的凝聚力,营造了一种相当浓郁的学习氛围,对良好班风的形成起到了很大的促进作用。
五天的学习即将结束,但我们对编程的热情却大幅提升,看见那一个个代码在我们手中变成了一段段程序,并且能够真正解决生活中的一些复杂问题,这个过程让我们十分激动和兴奋。作为一个工科的女生,我一定会加倍的努力,在以后的学习中更加严格的要求自己,让自己的编程能力更上一层楼,并巧妙的运用自己所学,为祖国的软件事业贡献力量。