欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2023年数值分析实验报告新编.pdf

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

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

    2023年数值分析实验报告新编.pdf

    河北工业大学 数值分析课程实验实 验 报 告专业:_ _ _ _ _ _ _ _ _ _ _ _ _ _ 计算机科学与技术_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _班级:_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 计 1 3 0 5 壬-_ _ _ _ _ _ _ _ _ _ _ _ _姓名:_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 岳帅鹏_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _学号:_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _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 精度逆序相加得到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痘 用 寒 藁 如.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=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 ).(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”作二次插值,求 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,float 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.58 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,N0);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,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个节点及函数值: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.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,代入复合梯形公式,算出其相应的结果。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 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)/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 al 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)针对实习题编制程序,并上机计算其所需要的结果。4)通过对各种求解方法的计算实习,体会各种解法的功能、优缺陷及合用场合,会选取适当的求解方法三、算法描述解一阶常微分方程初值问题y=f(x,y)a x b.y(xo)=y。将区间 a,b作 n 等分,取步长h=3n欧拉公式为yw=yi+h f(xi,yi)梯形公式为yi+i=yi+f(xi,yi)+f(xw,yi+l)改进欧拉法采用公式歹+1=y:+h f(X i,y:)h _yi+i =yi+f(X i,yi)+f(X i M,%i)或者yP=y,+h f(xj,yi)-yc=yi+h f(x+l i,yp)1 z、=5(y +yc)四、源程序#i n c 1 ud e#i n c l ud e#def i ne M_E 2.double yp(doub 1 e x,dou b 1 e y,doubl e h);d o uble y c(d oubl e x,double y,d ou b le h);dou b 1 e y x(d o u b l e x);in t main()(doub 1 e xn=0;d o ubl e y n=l,y x n;doub 1 e h=0.1;i nt i;p r i n t f(/*实验四:n用改善欧拉方法解初值问题y=x+y;y(0)=l o 0 x 1,取步长h=0.1计算,n并 与 准 确 值 y=-x-l-2ex相比较 n n *);p ri n tf(M ttxnt t yn t t y(xn)n u);for(i=0;i10;i+)oy n=0.5*(yp(x n,yn,h)+y c(x n+h,yn,h);?xn=xn+h;呼 x n=y x(x n);p r intf(”2 0 f%2 0 f%20fn M,x n,yn,y xn);)re t ur n 0;d ouble yp(d o uble x,doub 1 e y,dou b 1 e h)(retu r n y+h*(x+y);)do u ble yc(double x,dou b le y,d o u b 1 e h)ret u r n y+h*(x+h+y);)double y x(dou b le x)(re t u r n-x-1 .0-2.0*exp(x);)五、运营结果过 W DOCUIEinS AM D SETTINGSAD.I!iISTRATOR桌面S f建文件夹 实睑4D ebug实.|/X 共*实验四.用改进欧拉方法解初植问题,=xy;y0=l。0 x l,取步长h=0.l计算,笄与准确值y=-x-l-2 e x相比较 Ixnyny0.1000001.110000-3.3103420.2000001.241000-3.6428060.3000001.395100-3.9997180.4000001.574610-4.3836490.5000001.782071-4.7974430.6000002.020278-5.2442380.7000002.292306-5.7275050.8000002.601537-6.2510820.9000002.951690-6.8192061.0000003.346859-7.436564Press any key to continue搜狗拼音半:六、对算法的理解与感悟实验五一、实验规定分别用下列方法求f(x)=x3.3x-l=0 在 x 0=2 附近的根。根的准确值为x*=1.879385 2 4,规定准确到四位有效数字,并对比各种算法的计算量。(1)二分法;(2)简朴迭代法;(3)牛顿迭代法二、实验目的1、通过对二分法和牛顿迭代法作编程练习和上机运算,进一步体会它们在方程求根中的不同特点;2、比较两者的计算速度和计算精度。三、算法描述1、二分法环节一 准备 计算f(x)在有根区间 a,b 端点处的值f(a),f(b)。环节二 二分 计算f(a)在区间中点(a+b)/2 处的值f (a+b)/2 。环节三 判断 若 f (a+b)/2 =0,则(a +b)/2为根,计算结果结束,否则检查;若 f (a+b)/2 0,则以(a+b)/2 代替b,否则替代a。反复执行环节二和环节三,直到区间 a,b 的长度小于允许误差,此时的中点即为所求。2、简朴迭代法环节一准备提供一个初始值x0;环节二迭代计算迭代值环节三 控制 检查|xl x0|;若|xb x0|e(为用户输入的精度),则以xl 替换x0 继续迭代;当|xl-xO|W 时终止计算,取 xl 作为所求的结果。3、牛顿迭代法给定初值九。,为根的允许误差,为|/(刈的允许误差,N 为迭代次数的允许值。(1)假如/(幻=0 或迭代次数大于N,则算法失败,结束;否则执行(2)。(2)计算为=项一/(%)(工,)(3)若|/-须|或|/(力|力 则输出不,程序结束;否则执行(4)。(4)令尤0 =无,转向(1)。四、源程序1、二分法#i n c 1 u de u s i n g n a me s p a c e s t d;f 1 o a t j i s u a n (f 1 o a t x);i n t m a i n ()e C OUt V”*使用二分 求用牟*”=w;i+)60 fz=j i s u a n(a+b)/2);i f (f z=0)00o c o u t 二分法求解函数的近似根为:V(a+b)/2 e n d l;br e a k;)e l s e(。c o U t v(第 个 分 点 为:;。平r i n t f(%f n,(a +b)/2);,C=(a+b)/2;。i f (f z*f l 0)o&b=(a+b)/2;o e Is eo a=(a +b)/2;oa)。c o u t 二分法求解函数的近似根为:;p r i n tf (%f n,c);c o u t V 迭代次数为:Ve n dl;r e t u r n 0;)float jisu a n(f 1 oat x)f 1 oat fx;f x=x*x*x-3*x-1 ;。r etu r n f x;)2、简朴迭代法#i nclu d e#i nc 1 u de using name s p a ce std;int main()(coutw;afloat x 0,xl;ocou t vxO;xl=x 0;i nt k=0;d o0=x 1;oxl=pow(3*x0+l),l/3.0);oo k+;w h i 1 e(f a bs(x 1 x0)w);o c o u t 简朴迭代法求解近似根为:“x l V Vendl迭代次数为:kendl;r e t u rn 0;)3、牛顿迭代法#i nc 1 u d e#includ e u sing nam e s p ace std;int main()(ocoutcc”请输入初始近似值:;float x 0;cinx0;cout请输入允许误差:;f 1 oat w;oc i n w;flo a t x 1,f 0,f;fO=xO*x O*xO-3*xO-l;f=3*x 0*x0-3;。x l=xO f 0/f;int k;of o r(k=1;f a b s(x 1-x 0)w;k+)。x0=xl;0fo=x 0*xO*x0-3*x0-1;。f=3*xO*x 0-3;xl=x 0 fO/f;)u 牛顿迭代法求解近似根为:xlend 1 迭代次数为:e ndl;return 0;)五、运营结果ro g r壶W Lyt oP庆:2求:6ke为9允初代数an入入迭次s六、对算法的理解与感悟实验六一、实验规定分别用高斯列主元消去法和直接三角分解法(LU分解)求方程组的解系数矩阵:1 0 78 7 常向量:107 5 65 88 610 9 67 5 9 10 7精确解为:(-60,102,-2 7,1 6)二、实验目的1)熟悉求解线性方程组的有关理论和方法;2)会编制列主元消去法、L U分解法、雅可比及高斯-塞德尔迭代法的程序;3)通过实际计算,进一步了解各种方法的优缺陷,选择合适的数值方法。三、算法描述1、列主元高斯消去法算法将方程用增广矩阵A I b =(a u)1 1Ml i7表达1)消元过程对 k=l,2 ,n-1选主元,找i k G k,k +l,n 使得I|_ ma x .|aifkrkjnlaik|假如a k=(),则矩阵A奇异,程序结束;否则执行。假如i k*k,则互换第k行与第i k行相应元素位置,a a 3 j=k,n +1消元,对i=k+1 ,n计算Ifk=/akk对j =l +l,n+1计算aij -2)回代过程若册“=0,则矩阵A奇异,程序结束;否则执行。=%,“+1;对 i=n T,2,1,计算C 3=/%j=M 72、矩阵直接三角分解法将方程组A x=b中的A分解为A =LU,其中L为单位下三角矩阵,U为上三角矩阵,则方程组Ax=b化解为2个方程组L y=b ,U x=y,具体算法如下(1)对j =l,2,3,#计算U 1 j =a对i =2,3,n计算 1“=a3 a”(2)对k =l,2,3,n:k-1正对)=k 1 +1/-,1 1计算1 1 4=a -工1阿5q=lk-1b为i =k +l,k +2,i r i+算h=6 -,%)/%q=lk-1=3,对k =2,3,n计算丫 卜=b kq=i_ n(4)xn=yn/un n,Mk =n-l,n-2,-,2,l Wxk=(yk-1k lX q)/u辰q=k+l注:由于计算!的公式与计购的公式形式上一样,故可直接对增广矩阵aHa 12 aina i,n+l A|b =a:%2 a2n a,n+l_nl n2 nn n,n+l _施行算法(2),此时U的第n +咧元素即为y。四、源程序#i n cl u dem a i n()|d ou ble a 4 4=1 0,7 ,8,7,7,5,6 ,5,8,6,1 0,9,7 ,5,9,1 0);d o u b l e b L 5=1 0 ,8,6,7),x 4=0,m,1 4 4,u 4 4,t=0,y 4;i n t i,j ,k ,ch o i c e;p r i n t f(矩阵为:n );f o r(i=0;i 4;i+)fo r (j=0;j 4;j+)p r i n tf(%.21 f t,a i j J);p r i n t f(n );p r i n t f(选择方法(1:高斯列主元消去法2:LU分解法3:结 束):n?);s c a n f(%d c h o i c e);wh i l e(ch o i c e!=3)swit c h(ch o i ce)c a s e 1:(for(i=0;i4;i+)f or(j=i+l;j4;j+)(m=aji/aii;fo r(k=i;k=0;i-)(f o r(j=i+l;j 4;j+)(m+=a i j*xfj;)x i=(b i m)/a i i;m=0;p r in t f(n 方程解为:);printf();f o r (i=0;i 4;i+)p r in t f(%.2 If,xi);p r intf();b reak;c a se 2:(for(i=0;i 4;i+)u0 i =a0 i;li 0=a i 0/u 00;)f o r(k=l;k4;k+)(fo r(i=k;i 4;i+)(fo r(j=O;j=k-1;j+)t=t+l kj*uj i;uk i=akt=0;f or(i=k+l;i 4;i+)fo r(j=0;j=k 1 ;j+)t=t+l i j *u j k ;1 i k =(a i k -t)/u k k ;t=0;)y 0=b 0;fo r (i =1 ;i 4;i+)f o r(j =0;j=0;i -)f o r (j=i+l;j =3;j +)t=t+u i j *x j ;x i =(y i -t)/u i i ;t=0;p r i n tf(n 方程解为:);pr i ntf();for(i=0;i FilesMicrosoft Visual StudioHyProjects123Debug123.exe-p|x师阵为:L007.008.007.00005.006.005.00006.0010.009.00005.009.0010.00选择方法(高斯列主元梢去法2:LU分 解 法3:结束):?1方程解为:(-60-00 102.00-27.00 16.00)选择方法Q:高斯列主元消去法2:川分解法3:结束):?2方程解为:(-60.00 102.00-27.00 16.00)选择方法(1:高 斯 列 主 元 消 去 法 分 解 法3:结束):?3Press any key to continue六、对算法的理解与感悟

    注意事项

    本文(2023年数值分析实验报告新编.pdf)为本站会员(文***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开