《2023年数值计算大作业.pdf》由会员分享,可在线阅读,更多相关《2023年数值计算大作业.pdf(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、济树帆力挺)、孝课程设计课程名称:_设计题目:_学 号:_姓 名:_完毕时间:题目一:非线性方程求根一 摘要非线性方程的解析解通常很难给出,因此非线性方程的数值解就尤为重要。本实验通过使用常用的求解方法二分法和Newt o n法及改善的Newton法解决几个题目,分析并总结不同方法解决问题的优缺陷。观测迭代次数,收敛速度及初值选取对迭代的影响。用Newton法计算下列方程 x3-x-l=0,初值分别为%=1,%=0.45,%=0.65;(2)丁+9 4/389x+294=0其三个根分别为1,3,-98。当选择初值%=2时给出结果并分析现象,当=5x10-6,迭代停止。解:1 )采 用MATLA
2、B进行计算;一方面定义了 Newton法:f u n ct i o n kk=n e w t o n (f z d f,xOz t o 1 ,N)%N e w t o n M e t h o d(牛顿法)%T h e f i r s t p a r a m e t e r f i s a e xt e r n a l f u n c t i o n wi t h r e s p e ct to v i a b l e x.(第一个参数也就是本题所用的函数f )%T h e s e co n d p a r a m e t e r d f i s t h e f i r s t o r d e
3、r d i f f e n t i a l f u n ct i o n o f f x.(第二个参数也就是本体所用函数f 的导数方程d f )%x 0 i s i n i t i a l i t e r a t i o n p o i n t (初值).%t o l i s t h e t o l e r a n c e o f t h e 1 o o p (精度).%N i s t h e m a xi m u m n u m b e r o f i t e r a t i o n s (循环上限).x=x 0 ;f 0=e va l (f);d f 0=e v a 1 (d f);n=0
4、;d i s p (n xn xn+1 f n+1 ,);wh i l e n =Nxl=xO-f O/d f 0;x=x 1 ;f 1 =e va 1(f);X=n z x0,xlz f 1;d i s p(X);i f a b s (x 0-xl)a b s(f xO);u=u/2;e 1 set=l;e ndendX=i,xO,xl,fxl;disp(X);i f(abs(fxl)tol)k=l;e Isex 0=x 1 ;i=i+1 ;en den dx=xl;i=i;en d之后带入X 0=0.4 5;d ownnewt o n(T,*df,0.45,1 0A(-6)nxnxn+1f
5、n+11.00000.4 500-0.4 1 55-0.65622.0000-0.415 5-0.5 8 57-0.61523.0000-0.585 7-0.5 7 54-0.6 1514.0 0 0 0-0.5 7 54-0.5 782-0.6 1 515.00 0 0-0.5 7 8 2-0.577 3-0.6 1 5 16.0 00 0-0.5 7 73-0.577 4-0.61517.000 0-0.57 7 4-0.5 77 3-0.61518.0 000-0.57 7 3-0.57 7 4 0.6 1 5 19.00 0 0-0.577 4-0.5 77 4-0.61511 0.0
6、 0001 1.00 0 01 2.0 0 0 013.0 0 00-0.5 7 7 4-0.5 7 741.31311.3 2 4 8-0.5774-0.61 5 11.3 1 311.3 2 481.3247-0.0 4 900.00050.0000an s=1.3 247带入 x0=0.6;downnewton(f,z df,0.6,10A(-6)nx nxn+1fn+11.00000.60001.140 6-0.6 5 6 62.0 0001.140 61.36680.1 8663.00001.36681.32630.0 0 674.0 0 0 01.32631.32 4 70.00
7、0 05.0000 1.3247 1.3 2 470.0000a n s1.3 247带入xO=l;d o w n n e wt o n(f ,*d f,1 ,1 0A(-6)nxnxn+1f n+l 1.0 0 0 01.0 0 0 01.5 0 0 00 .8 7 5 02.0 0 0 01.5 0 0 01 .3 4 7 80 .1 0 0 73.0 0 0 01.3 4 7 81.3 2 5 20.0 0 2 14.0 0 0 01 .3 2 5 21.3 2 4 70.0 0 0 0a n s =1.3 2 4 72)同样采用N e w t on下山法:重新定义f、d f :f:fu
8、n c t i on y=f(x)y=x A3+94*xA 2-3 8 9*x+294;d f:f unc t ion y=df(x)y=3*xA2+1 88*x-3 8 9;再带入初值x0=2;d o w n n e wt o n ,2,5*1 0 (-6)n xn xn+1 f n+11 2 -98 0a n s-9 8得出x=-9 8;分析:先画出该函数的图像;x=(-1 0 0:.1 :1 0 0);e z p l o t (xA3 +9 4*x 2-3 8 9*x+2 9 41 0 0 1 0 0 J)得出该图像如图:根据牛顿法的几何解释,在x 0=2的点做切线,与y相交,交点的横坐
9、标值为x=-9 8则结束了该现象。题目二:线性方程组求解一 摘要对于实际的工程问题,很多问题归结为线性方程组的求解。本实验通过实际题目掌握求解线性方程组的数值解法,直接法或间接法。有一平面机构如图所示,该机构共有1 3条 梁(图中标号的线段)由8个较接点(图中标号的圈)联结在一起。上述结构的1号钱接点完全固定,8号较接点竖立方向固定,并 在 2 号、5 号 和 6 号钱接点,分别有如图所示的10吨、15吨 和 20吨的负载,在静平衡的条件下,任何一个较接点上水平和竖立方向受力都是平衡的,以此计算每个梁的受力情况。1015*2 0令。=1/V2,假设f为各个梁上的受力,例如对8 号钱接点有九+舫
10、2=。对 5 号钱接点,则有0 5 +4=班+/|0次+6+次=15针对各个钱接点,列出方程并求出各个梁上的受力。解:针对此题我们采用雅克比迭代法;一方面我们先写出Jac obi迭代的程序,并且存为.m 的形式:fun c t ion x,n=j acobi(A,b,x 0,e ps,va r a rg in)i f n ar g in =3ep s=1.Oe-6;M=20 0;e l s e i f n a r gin=e p sxO=x;x=B*xO+f;n =n +1;i f (n =M)d i sp (W a r n i n g:迭代次数太多,也许不收敛!,);re t ur n ;e
11、 n de n d之后我们根据节点进行计算杆的力,设受拉为正;1)由于角度为4 5。,所以正弦值和余弦值相等都设为a=2N-1/2 );则可列方程:a f i=O;a f i+f 2=0;f 3=1 0;f 6=0;afi+f3+af5=O;afi-f4-af5=0;f 4-f8=0;f7=o;a f 5+f7+af9=15;储=2 0;flO-f 13=0;afi 2=0;a fi2+fi3=0;输入到mat 1 a b 中有如下:A=2A(-1/2)0 0 0 0 0 0 0 0 00 0 0;2-(l/2)1 0 0 00 01 0 0 0 0 0 0 0 0 0 0;0 1 0 0 0
12、 -1 0 0 0 0 0 0 0;2(-l/2)0 10 0 0 0 0 0 0;2 (-l/2)0 0-1 一2八(一 1/2)0 0 0 00 1 0 0 0-1 000 0 0;0 00 0 00 1 0 0 0 0 0 0;0 0 000 2A(-l/2)0 0 0 0:0 0 0 00 00 0 00 1 0 0;0 0001 0 0-l;0 0 0 0 0 0 0 0 0 0 0 2A(-1/2)0;0 0 0 0 0 0 0 0 01;,b=0 0 10 0 0 0 0 0 15 2 0 0 0 03 10 000 0 0;0 00 2 人(-1/2)00 0 0 0;0 02
13、A(-1/2)0 10 0 0 0 00 0 2 人(-1/2)得出矩阵A和 bA=0.7 0 7 10 0。0。0 0。0 0 0 O oO 00.707 1 bOoO0。0。000 0 0 0 0 00 0。0。0“。0(M)0 0(MM)OHoO OO-1。0 0。0。0。0。0 0。0.707 1 0。1 0 0.7 0 7 1 0。0 0。0 0。00o00.7 0 7 1 0 0。-1 -0.7071 0 0 0。0 0。0 0。00 0 0 bOoOdO-hOoO 0 OoO0-0 0 G 0 1G 0OOO 000 o00 0 0.707 1 oO h 0 0o.7 07100 000 OOO0。0 8OOO0 0OoO 0 00 0 o 0 0。0。hO 0-10 0。0。00OGO0。0。0 0.707。1 004)。0。0。0 000 0(M)0.7 0 7 1b=0010000001520000继续输入:x 0=o n es(13,l)进行赋值:xO111I111最 后 输 入:x,n=j acobi(A,b,xO),即可得到最终结果:2)本体也可根据单个节点从1 点起逐个进行计算f,按 2 阶矩阵进行计算。
限制150内