2025年现代数值计算技术实验报告指南_第1页
2025年现代数值计算技术实验报告指南_第2页
2025年现代数值计算技术实验报告指南_第3页
2025年现代数值计算技术实验报告指南_第4页
2025年现代数值计算技术实验报告指南_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

河北工业大学班级:计1305班试验一,分析其误差的变化。1、通过上机编程,复习巩固此前所学程序设计语言;2、通过上机计算,理解舍入误差所引起的数值不稳定性。3、通过上机计算,理解运算次序对计算成果的影响,从而尽量防止大数吃小数的现象。1)首先用float精度正序相加得到10000项的和;2)接着用float精度逆序相加得到10000项的和;3)然后用double精度正序相加得到10000项的和;4)再用double精度逆序相加得到10000项的和;5)根据成果,进行比较分析问题。{d1=(float)(fabs(1.644d2=(float)(fabs(1.644printf("正向求和成果为%f\n,误差为%f\nln",sl,d1);printf("反向求和成果为%f\n,误差为%f\n\n",s2,d2);画C:\画C:\ProgranFiles\IicrosoftYisualStudio\IyProjects\ucha\Debug\ruch..,误差为0.000109,误差为0.080000正向求和误差等于负向求和误差作二次插值,并求x₁=-2,x₂=0,x₃=2.75时的函数近似值2牛顿插值作五次插值,并求x₁=0.46,x₂=0.55,x₃=0.60时的函数近似值.1、拉格朗日插值2、牛顿插值多项式(3)计算函数值N。(x)=f(x,)+f[x,,x₁](x-x₀)+...+f[x,floatjisuanmokuai(int,float,float[],float[J);{cout<<"题目:按下列数据"<<ecout<<"y:1.01.52.02.01cout<<"作二次插值,求x=-2,x=0,x=2.75时的函数近似值."<endl;for(intj=0:j<=n;j++){}2.牛顿floatquotient(intk,inti,floatf[][M],floatx[],floaty[D);floatnewton(floatX,intn,floatf[][M],{x[0]=0.30f;y[0]=1.04x[1]=0.42f;y[1]=1.08x[2]=0.50f;y[2]=1.11x[3]=0.58f;y[3]=1.15x[4]=0.66f;y[4]=1.19x[5]=0.72f;y[5]=1.23printf("x:0.300.420.500.580.660.72\n"printf("y:1.044031.084621.118031.156031.198171.23223\n"N[0]=newton(0.46f,5,f,x,y);N[1]=newton(0.55f,5,f,x,y);N[2]=newton(0.60f,5,f,x,y);printf("x=0.46时函数的近似值为%f\n",N[0]);printf("x=0.55时函数的近似值为%f\n",N[1]);printf("x=0.60时函数的近似值为%f\n",N[2]);floatw(floatX,intn,floatx[])floatquotient(intk,inti,floatf[][M],floatx[],floaty[D)f[k][i]=(quotient(k-1,i,f,x,y)-quotient(k-1,i-1,f,x,y)(x[floatnewton(floatX,intn,floatf[][MN=f[0][0];N=N+w(X,i,x)*quotient(i,i,f,x,y);}x:-30y:1.04403,1.084621.118031.156031.1981?1.23y:1.04403,1.084621.118031.156031.1981?1.23试验三断精度。通过实际计算来真实体会复合梯形公式和复合辛普森公式两种数值求积措施的精确环节一:确定函数的区间为【a,b】,并确定其节点的个数,算出每个小区间的步长h;环节二:根据确定的h,代入复合梯形公式,算出其对应的成果。环节一:确定函数的区间为【a,b】,并确定其节点的个数,算出每个步长h;{floatTn,Sn,d1,d2,a=0,b=0floatx[1000],y[1000],z[1000{{y[i]=(float)(sin(x[i])/x[}Tn=(float)(1.0+sin(1.0)/1.0+2*aprintf("复化梯形输出:%f\n",Tn);printf("将复化辛卜生区间划分为:"){z[k+1]=float(1.0/m*z[k+1/2]=float(z[k]+z[kw[k]=(float)(sin(z[k])/z[w[k+1/2]=(float)(sin(z[k+1/2])/(z[k]+z[k+1])Sn=(float)(1.0+2*b+4*c+sin(1.{dl=(float)(fabs(0.9460d2=(float)(fabs(0.9460printf("复化梯形误差:%f\n",d1);printf("复化梯形求法精度低于复化辛卜生求法\n");printf("复化梯形求法精度等于复化辛卜生求法\n");;printf("复化梯形求法精度高于复化辛卜生求法\n");}C:\ProgranFiles\IicrosoftYisualStudio\IyProjects\3\Debug\3复化梯形区间划分:10复化梯形输出:0.945832将复化辛卜生区间划分为:5复化辛上生输出:复化辛上生输出:0.741290复化梯形误差:0.000251复化辛卜生误差:0.204293复化梯形求法精度高于复化辛卜生求法__用改善欧拉措施解初值问题y⁷=x+y;y(0)=1。0<x<1,取步长h=0.1计算,并与1)熟悉求解常微分方程初值问题的有关措施和理论,重要是改善欧拉措施。2)会编制上述措施的计算程序。3)针对实习题编制程序,并上机计算其所需要的成果。4)通过对多种求解措施的计算实习,体会多种解法的功能、优缺陷及合用场所,会选{printf("/**********试验四:\n用改善欧拉措施解初值问题y'=x+y;y(O)=1.0<x<1,取步长h=0.1计算,\n并与精确值y=-x-1-2ex相比较\n\n");printf("\t\txn\t\tyn\t\ty(xn)\n");yn=0.5*(yp(xn,yn,h)+yc(xn+h,yn,hprintf("%20f%20f%20f\n",xn,yn,yxn}doubleyp(doublex,do{doubleyc(doublex,do{{return-x-1.0-2.0*exp(**********实验四:并与准确值y=-x-1-2ex相比较搜狗拼音半:分别用下列措施求f(x)=x³-3x-1=0在xo=2附近的根。根的精确值为x*=1.87938524...,规定精确到四位有效数字,并对比多种算法的计算量。(1)二分法;(2)简朴迭代法;(3)牛顿迭代法1、通过对二分法和牛顿迭代法作编程练习和上机运算,深入体会它们在方程求根2、比较两者的计算速度和计算精度。二二分计算f(a)在区间中点(a+b)/2处的值f[(a+b)/2]。环节三判断若替代b,否则替代a。反复执行环节二和环节三,直到区间[a,b]的长度不不小于容许误差,此时的中点即为所求。为顾客输入的精度),则以x1替代x0继续迭代;当|x1-x0|≤e时终止计算,取x1作为所求的成果。3、牛顿迭代法给定初值xo,ε为根的容许误差,η为|f(x)|的容许误差,N为迭代次数的容许值。(1)假如f'(x)=0或迭代次数不小于N,则算法失败,结束;否则执行(2)。(3)若|x₁-x|<ε或|f(x:|<n,则输出x₁,程序结束;否则执行(4)。(4)令x₀=x₁,转向(1)。{cout<<"请输入f(x)的有根区间[a,b]的下限和上限{if(fz==0){{printf("%f\n",(a+b)/if(fz*fl<0)}}}floatjisuan(floatx){}2、简朴迭代法{cout<<"简朴迭代法求解近似根为:"<<xl<<endl<<"迭代次数}3、牛顿迭代法]}cout<<"牛顿迭代法求解近似根为:"<<xl<<endl<<"迭代次数}五、运行成果请输入f(x>的有根区间[a,bj的下限和上限:日1第2个分点为:0.750000第3个分点为:0.875000第4个分点为:0.937500C:\ProgranFiles\IicrosoftVisualStudio\IyP请输入允许误差:0.0005国国C:\ProgranFiles\Iicrosoft六、对算法的理解与感悟分别用高斯列主元消去法和直接三角分解法(LU分解)求方程组的解系数矩阵:10787常向量:10精确解为:(-60,102,-27,16)1)熟悉求解线性方程组的有关理论和措施;2)会编制列主元消去法、LU分解法、雅可比及高斯-塞德尔迭代法的程序;3)通过实际计算,深入理解多种措施的优缺陷,选择合适的数值措施。1、列主元高斯消去法算法将方程用增广矩阵[A|b]=(a)nx(n+1)表达1)消元过程对k=1,2,…,n-1①选主元,找ik∈{k,k+1,…,n}使得a→ajj=k,---,n+1④消元,对i=k+1,---,n计算lk=a/ak对j=l+1,---,n+1计算b.对i=k+1,k+2,…,n计注:由于计算u的公式与计算y的公式形式上一样,故可直接对增广矩阵四、源程序{doublea[4][4]={10,7,8,7,7,5,6,5,8,6,10,9,7,5,9,10};doubleb[5]={10,8,6,7},x[4]={0},m,1[4][4],u[4][4],t=0printf("矩阵为:\n");printf("%.2lf\t",a[i][jprintf("选择措施(1:高斯列主元消去法2:LU分解法3:结束):\n""?");while(choice!=3){{}{{}}printf("\n方程解为:");printf("%.2lf",x[i]);}{{}{}printf("%.2lf",x[i]);}printf("\n\n选择措施(1:高斯列主元消去法2:LU分解法3:结束):\n""?");}五、运行成果

温馨提示

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

评论

0/150

提交评论