2023年数值分析实验报告新编.pdf
《2023年数值分析实验报告新编.pdf》由会员分享,可在线阅读,更多相关《2023年数值分析实验报告新编.pdf(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、河北工业大学 数值分析课程实验实 验 报 告专业:_ _ _ _ _ _ _ _ _ _ _ _ _ _ 计算机科学与技术_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _班级:_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 计 1 3 0 5 壬-_ _ _ _ _ _ _ _ _ _ _ _ _姓名:_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 岳帅鹏_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _学号:_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2、_ _1 33007_完毕日期:2 0 2 3.1 .11_实验一一、实验规定10000用 两 种 不 同 的 顺 序 计 算 a l。644834,分析其误差的变化。n=l二、实验目的1、通过上机编程,复习巩固以前所学程序设计语言;2、通过上机计算,了解舍入误差所引起的数值不稳定性。3、通过上机计算,了解运算顺序对计算结果的影响,从而尽量避免大数吃小数的现象。三、算法描述1)一方面用flo a t精度正序相加得到10000项的和;2)接着用f lo at精度逆序相加得到100 0 0 项的和;3)然后用doubl e 精度正序相加得到10000项的和;4A)再用d o u b le 精度逆序
3、相加得到1 0 000项的和;”)根据结果,进行比较分析问题。四、源程序#inc 1 ude#in c lu d ev o id main()(“nt i;afloat sl=0,s2=0,d l,d2;fo r(i=l;i=l;i)s2=s2+1.0 f/(i*i);dl=(float)(fab s(l.6 44834-sl);d 2=(float)(fabs(1.6448 3 4-s2);。p rintf(正向求和结果为 f n,误差为fn n ,sl,dl);printf(反向求和结果为 f n,误差为fn n,s2,d 2);if(d 1 uchaD ebuguch.日日E痘 用 寒
4、藁 如.644725 匚,误差为0.000109.反回求和结果为1.644834 I,误差为0.000000正向求和误差等于负向求和误差Press any key to continueLrJ六、对算法的理解与感悟实验二、实验规定1、拉格朗日插值按下列数据X j-3.0-1.01.02.03.0y,-1.01.52.02.01.0作二次插值,并求X=-2,X2=0,X3 =2.7 5 时的函数近似值2 牛顿插值按下列数据Xi0.300.4 20.5 00.5 80.660.72y,-1.0 44031.0 84621.118031.1560 31.1981 71.2 3223作五次插值,并求x
5、=0.4 6,x2=0.5 5,x3=0.60时的函数近似值.二、实验目的1、熟悉拉格朗日插值多项式和牛顿插值多项式,注意其不同特点;三、算法描述1、拉格朗日插值(1)输入 x;,y;(i =0,1,2,n ),令 L(x ,)=0;(2)对=0,1,2,n 计算、A X-X;L(x)=口 L加“一 吃L,+1 (x)y,.2、牛顿插值多项式(1)输入 n,x z.,y z(i=0 ,1,2.,n);(2)对 k=l,2,3 n,i =1,2,k 计算各阶差商 f(x ,,x );(3)计算函数值N,(x)=f(x )+f x ”X)(x x0)+.+f x0,x.xn (x-x 0)(x-X
6、 ).(x-x)四、源程序1.拉格朗日#include#inc 1 ude#i n c lu d e usi n g n a mespac e std;f l o a t jisuanmo k u ai(i n t,f lo a t,float ,fl o a t);v o id ma i n()(f 1 oat a,x50,y501,1;。i nt m,n;ocout”题目:按下列数据 e ndl;oc o u t x:-3.0 -1.0 1.0 2.0 3.0 n e n d 1 ;out vy:l.0 1 .5 2.0 2.0 1.5 M e n d 1 ;0co u tvV”作二次插值
7、,求 x=-2,x=0,x=2.7 5 时的函数近似值.”v e n d 1;oc o utV”输入插值次数:“n;ocout”插入计算次数:m;ofor(i n t i=0;i=m;i+)gfor(i nt j=O;j=n;j+)。“n t h99=i+l,b9 9=j+l;。ocou t 输入 第,h 9 9 V”个数的第x j yj;0 0 2.牛顿#in c 1 ude#define M 6f loat w(f 1 o a t X,int n,f 1 o a t x);floa t quo t ie n t(int k,i nt i,float f IM,f 1 oat x EJ,fl
8、oat y E );fl o at n e wton(f 1 o at X,int n,f 1 o a t f M,fl o at x,f l o a t y);vo i d m a i n()(afloat xMJ,y M ;ox0 =0.30f;y L0=l.0 4 403 f;x l 0.4 2f;y 1=1.08462f;x2=0.5 Of;y2=l.1 180 3 f;x 3=0.58 f;y 3=1.1 5 603f;ox4=0.6 6f;y4 =1.1981 7 f;x 5=0.72f;y 5=1.2322 3 f;oprin t f(x:0.3 0 0.4 2 0.50 0.5
9、8 0.66 0.7 2 n );pr i n t f(y:1.04403 1.08 4 62 1.1 1 803 1.1 5 6 0 3 1.1 9817 1,2 3223n);p r i n t f(做五次插值,并求x=0.46,x=0.55,x=0.60时的函数近似值Ann);f o r (int i=0;iM;i+)f 0 i=yi;flo a t N 3;N0=new t on(0.4 6f,5,f,x,y);Nl=newton(0.55f,5,f,x,y);N 2=n e wton(0.6 0 f,5,f,x,y);op r i ntf(Hx=0.4 6 时函数的近似值为%fn,N
10、0);printf(nx=0.55 时函数的近似值为%fnn,N l);叩 rintf(”x=0.60时函数的近似值为%fn”,N 2 );)float w(float X,in t n,f loat x)(float w=1.0;for(int i=0;i n;i+)ow=w*(X-xi);or e t ur n w;)f l o a t q u otient(i n t k,int i,f 1 o at f M,f 1 oat x ,f loat y)(if(k=0)=yi;oelsei=(Q u ot i en t(k-1,i,f,x,y)qu o t i ent(k-l,i 1,f,x
11、,y)/(x i-xi-k);oretu r n f k i;)f l o a t newton(flo a t X,int n,f loa t f 1 oat x,float y )float N;N=f 00;of o r(i n t i=l;i F ile s lic r o s o ft V isual S tu d io ly P ro jects2 D eb u g 2.ex ebc:-3.0 -1.0 1.0 2.0 3.0kF:1.0 1.5 2.0 2.0 1.5作二次超值,求x=2 x=0,x=2.7 5时的函数近似值.输入插7直次数:2髓入计算次数:b输入第1个数的第1个
12、节点及函数值:1 3 0 1 0陆入第;个数的第2个节点及函数值:工 0 1 5输入第;个数的第3个节点及函数值:1 .0 2.0输入要计算的K的值:-2.01.250000输入第2个数的第i个节点及函数值:B3BN2.牛顿:六、对算法的理解与感悟Progra F ilesM icro so ft V isual Stu d iolyP ro jectsn ew t onD ebugne.Q Q Qp 0.3 0 0.42 0.50 0.58 0.66 0.72|1.04403 1.08462 1.11803 1.15603 1.19817 1.23223|做五次插值,并求x=0.46,x=0
13、.55,x=0.6 0时的函数近似值.Ix=0.46号函数的近似值为1.100724x=0.55附函薮的近循值为1.141271x=0.60时函数的近似值为1.166194Press any key to c o n tin u e.H实验三一、实验规定分别用复化梯形公式和复化辛卜生公式计算f(x)=s in (x)/x的积分,并与准确值比较判断精度。二、实验目的通过实际计算来真实体会复合梯形公式和复合辛普森公式两种数值求积方法的精确度。三、算法描述1、复合梯形公式环节一:拟定函数的区间为【a,b】,并拟定其节点的个数,算出每个社区间的步长h;环节二:根据拟定的h,代入复合梯形公式,算出其相应
14、的结果。A2、复合辛普森公式A环节一:拟定函数的区间为【a,b】,并拟定其节点的个数,算出每个步长h;环节二:根据拟定的h,代入复化辛普生公式,算出相应的积分结果。四、源程序#incl u de#in e lu d e v o id ma i n()(“n t m,n,k,i;f 1 o a t Tn,Sn,d 1 ,d2,a=0,b=0,c=0;41oatxl 0 00,y L1 0 0 0 ,z 1(X)0,wl 0 00 ;(P rintf(将复化梯形区间划分:);。sc a n f(”%d”,&n);fbr(i=1;in;i+)(。6x i=f 1 oa t(1.0/n i);g y
15、i=(f 1 oat)(sin(x Ei)/x i);aooa=a+y i;0oTn=(flo at)(1.0+s i n(1.0)/1.0+2*a)/2.0/n);p r in tf(复化梯形输出:%f n T n);。P rint f(将复化辛卜生区间划分为:);sc a nf(n%d ,&m);)of o r(k=l;k w k=(f 1 oa t)(si n(z k)/zk);。wk+1/2=(fl o at)(sin(zfk+1/2)/(z k+z k+1)/2);3 b=b+w k;c=c+w k+1/2;)S n=(flo a t)(l.0+2*b+4*c+s i n(l.0)/
16、1.0)/6.0/m);叩 r i n t f(复化辛卜生输出:%fn ,Sn);od 1=(floa t)(fabs(0.9 460831-T n);。讨 2=(fl oat)(f abs(0.9460831-S n);prin t f(复化梯形误差:f n,d 1);p r i n t f (复化辛卜生误差:%fn,d2);oif(d 1 d 2)pr i ntf(复化梯形求法精度低于复化辛卜 生求法 n”);o e l s e i f(dl=d2)P r i ntf(复化梯形求法精度等于复化辛卜生求法n);e 1 se(d 1 F ile s lic r o s o ft V isu a
17、l StudioM yPro je c t s3D eb u g3.exe*X划.9间:00.度to间:0区出.差精9区出生jf f i i差误法ke生误生求9悌形一卡形卜形an化花董兼S复化复化化化化es复复复pr02为254复13SJ120尸:84/402rp分45划.7000.一茴50化干-We法六、对算法的理解与感悟号实验四一、实验规定用改善欧拉方法解初值问题yx+y;y(0)=1 0 x l,取步长h=0.1计算,并与准确值y=-x-l-2e*相比较。二、实验目的1)熟悉求解常微分方程初值问题的有关方法和理论,重要是改善欧拉方法。2)会编制上述方法的计算程序。3)针对实习题编制程序,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 数值 分析 实验 报告 新编
限制150内