2022年西安交通大学2021年计算方法A上机大作业 .pdf
《2022年西安交通大学2021年计算方法A上机大作业 .pdf》由会员分享,可在线阅读,更多相关《2022年西安交通大学2021年计算方法A上机大作业 .pdf(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算方法 A上机大作业张晓璐硕 4011班学号: 3114009097 1. 共轭梯度法求解线性方程组算法原理: 由定理 3.4.1 可知系数矩阵 A是对称正定矩阵的线性方程组Ax=b的解与求解二次函数1( )2TTf xx Axb x极小点具有等价性,所以可以利用共轭梯度法求解1( )2TTf xx Axb x的极小点来达到求解Ax=b的目的。共轭梯度法在形式上具有迭代法的特征,在给定初始值情况下,根据迭代公式:(1)()( )kkkkxxd产生的迭代序列(1)(2)(3)xxx,.在无舍入误差假定下,最多经过n 次迭代,就可求得( )f x的最小值,也就是方程Ax=b的解。首先导出最佳步长
2、k的计算式。假设迭代点()kx和搜索方向()kd已经给定,便可以通过( )( )( )()kkf xd的极小化( )()min( )()kkf xd来求得,根据多元复合函数的求导法则得: ()()( )( )()kkTkf xdd令( )0,得到 : ( )( )( )( )k Tkkk TkrddAd,其中( )( )kkrbAx然后确定搜索方向( )kd。给定初始向量(0)x后,由于负梯度方向是函数下降最快的方向,故第一次迭代取搜索方向(0)(0)(0)(0)()drf xbAx。令(1)(0)00 xxd其中(0)(0)0(0)(0)TTrddAd。第二次迭代时,从(1)x出发的搜索方向
3、不再取(1)r,而是选取(1)(1)(0)0drd,使得(1)d与(0)d是关于矩阵 A的共轭向量, 由此可求得参数0: 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 13 页(1)(0)0(0)(0)TTrAddAd然后从(1)x出发,沿(1)d进行搜索得到(2)(1)(1)1xxd设已经求出(1)( )( )kkkkxxd,计算(1)(1)kkrbAx。令(1)(1)( )kkkkdrd,选取k,使得(1)kd和( )kd是关于 A 的共轭向量,可得: (1)()( )( )kTkkk TkrAddAd具体编程计算过程如下:(1)
4、 给定初始近似向量(0)x以及精度0;(2) 计算(0)(0)rbAx,取(0)(0)dr;(3) For k=0 to n-1 do (i )( )()0( )( )k Tkk TkrddAd;(ii )(1)()( )kkkkxxd;(iii)(1)(1)kkrbAx;(iv )若(1)kr或k=n-1,则输出近似解(1)kx,停止;否则,转( v) ;(v)2(1)22( )2kkkrr;(vi )(1)(1)()kkkkdrd;End do 程序框图:精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 13 页开始输入 , , ,
5、(0)x(0)(0)rbAx(0)(0)dr( )( )( )( )k Tkkk TkrddAd(1)( )()kkkkxxd(1)(1)kkrbAx0k1kkAb( ,1)nsize A或(1)kr1knT输出近似解(1)kxF结束2(1)22()2kkkrr(1)(1)( )kkkkdrd程 序 使 用 说 明 : 本 共 轭 梯 度 法 求 解 线 性 方 程 的 程 序 是 一 个 函 数Gongetidu2(A,b,x0,epsa),在求解线性方程组Ax=b(A 是对称正定矩阵)的时候 , 首 先 给 定 初 始 向 量x0和 误 差epsa , 然 后 直 接 调 用 该 函 数G
6、ongetidu2(A,b,x0,epsa)即可,其中 A,b,x0 和 epsa 都是可变的,虽然该函数是通用的,但是对于矩阵 A和向量 b 的输入,需要使用者根据 A和 b 的特点自行输入。算例 3.2 计算结果:对题 113 页 3.2 ,首先编程将矩阵A,b,x0,epsa读入系统,然后再调用函数 Gongetidu2(A,b,x0,epsa);程序如下:clear A b x0 %程序运行前首先清除A,b 和 X0的数值,以免影响计算clc n=input(请输入对称正定矩阵A的阶数 n=); epsa=input(请输入误差 =); for k=1:(n-1) %读取题目 3.2
7、的矩阵 A A(k,k)=-2; A(k,k+1)=1; A(k+1,k)=1; end 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 13 页A(n,n)=-2; A; b(1,1)=-1; %读取题目 3.2 的矩阵 b b(n,1)=-1; b; x0(1,1)=input(假定初始向量各元素相同,均为:); %给题目 3.2 的迭代过程赋初值for kk=2:n x0(kk,1)=x0(1,1); end x=Gongetidu2(A,b,x0,epsa) %调用共轭梯度法求线性方程组的函数function x=Gongeti
8、du2(A,b,x0,epsa) n=size(A,1); x=x0; r=b-A*x; d=r; for k=0:(n-1) alpha=(r*r)/(d*A*d); x=x+alpha*d; r2=b-A*x; if (norm(r2)=epsa)|(k=n-1) x; break; end beta=norm(r2)2/norm(r)2; d=r2+beta*d; r=r2; end 计算结果:当 n=100时,x=1;1;1;1;1;1;1;.1;1;1;1 当 n=200时,x=1;1;1;1;1;1;1;.1;1;1;1;1;1;1 当 n=400时,x=1;1;1;1;1;1;1
9、;.1;1;1;1;1;1;1;1;1;1 2. 三次样条差值算法原理(三次样条插值函数的导出) :(i).导出在子区间1,iixx上的 S(x) 的表达式由于 S(x) 的二阶导数连续,设 S(x) 再节点ix处的二阶导数值 S(xi)=Mi ,其中 Mi 为未知的待定参数。由S(x) 是分段的三次多项式知,S(x) 是分段线性函数, S(x) 在子区间1,iixx上可表示为精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 13 页1111111( ),iiiiiiiiiiiiiiiixxxxSxMMxxxxxxxxMMxxxhh其中
10、hi=xi-x(i-1),对上式两次积分得到331111( )66()(),iiiiiiiiiiiixxxxS xMMhhb xxcxxxxx由插值条件11(),()iiiiS xyS xy得到2211() /,() /66iiiiiiiiiihhbyMh cyMh将iibc和代入( )S x可得3321111211( )()/()666()/(),6iiiiiiiiiiiiiiiiiixxxxhS xMMyMh xxhhhyMh xxxxx(ii).建立参数iM的方程组对 S(x)求导可得2211111( )() /22,6iiiiiiiiiiiiiixxxxSxMMyyhhhMMhxxx上
11、式中令ixx得 S(x) 在 xi 处的左导数()iSx,令1ixx得到右导数()iSx,因为 S(x) 在内节点 xi 处一阶导数连续,所以()()iiSxSx,进一步推导可得112,1,2,3,.,1iiiiiiMMMd in其中1iiiihhh,111iiiiihhh,精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 13 页1111116()6 ,1,2,.,1iiiiiiiiiiiiyyyydf xx xinhhhh上式为三弯矩方程组, 因为三弯矩方程组只有n-1 个方程,不能确定 n+1个未知量 Mi,所以需要再增加两个方程,
12、由边界条件确定。第一种边界条件 : 此时已知( )( )fafb和 . 不妨取0( )Mfa,( )nMfb,这时三弯矩方程组化为:1121101112111222,3,.,22iiiiiininnnnMMdMMMMdinMMdM以 上 方 程 组 系 数 矩阵 式 严 格 三 对 角 占 优 矩 阵 , 可 用 追赶 法 求 解 。 求 出(1,2,.,1)iMin后,代入 S(x) 可得三次样条插值函数的数学表达式。第 二 种 边 界 条 件 : 已 知( )( )fafb和。 记0( )( )nyfayfb,, 则 有00()()nnSxySxy,所以:1011101011 , ,366
13、3nnnnnnnnyyhhyyhhMMyMMyhh即0102MMd12nnnMMd其中10001116( )6( )nnnnnnyydyhhyydyhh所以得到第二种边界条件下的三弯矩方程组:0101112,2,1,2,3,.,1,2iiiiiinnnMMdMMMdinMMd该方程组系数矩阵是严格三对角占优矩阵,可用追赶法求解, 具体追赶法的求解过程见数值分析教材。第三种边界条件: 周期型边界条件 . 已知( )yf x是以0nTbaxx为周期的周期函数,则由周期性可知,01101111,nnnnnyyyy MMMMhh,精选学习资料 - - - - - - - - - 名师归纳总结 - -
14、- - - - -第 6 页,共 13 页这时,可以将点nx看成内点,则方程组对i=n 也成立,既有112nnnnnnMMMd,也即112nnnnnMMMd,其中11116()nnnnnnyyyydhhhh于是三弯矩方程组化为1121111112,2,2,3, 4,.,1,2.niiiiiinnnnnMMMdMMMdinMMMd该方程组可用 LU分解法求解,具体追赶法的求解过程见数值分析教材。程序框图如下:输出开始输入 , ( )( )(1),2,3.,h kx kx kkn( )( ) /( ( )(1),2,3,.1kh kh kh kknxy( ,2)nsize x1( )6 ( (1)
15、( ) / (1)( ( )(1)/ ( ) /( ( )(1),2,3,.1d ky ky kh ky ky kh kh kh kkn输入边界条件类型m1m分别输入和T( )Mn(1)M(2,2)Azeros nn( ,)2,( ,1)(1),(1, )(2)1,2,3.3A k kA k kkA kkkkn(2,2)2A nn(2,1)bzeros n( ,1)(1) ,2,3,.3b kd kkn(1,1)(2)(2)*(1)bdM(2,1)(1)(1)*( )b nd nnMn用追赶法求解AMb3321111211()()( )()666(),6iiiiiiiiiiiiiiiiiixx
16、xxhxxS xMMyMhhhhxxyMxxxhF2m( , )Azeros n n( , )2,( ,1)( ),(1, )(1)2,3.2A k kA k kkA kkkkn(1,1)2A( ,1)bzeros n( ,1)( ) ,1,2,3,.b kd kkn分别输入 f(a)和f(b) 一阶导数和yn0yT(1)6*(2)(1) / (2)0) /(2)dyyhyh( )6*( ( )(1) /( ) /( )d nyny ny nh nh n(1,2)1A(2,1)(2)A(1,1)2A nn( , )2A n n( ,1)1A n n(1, )(1)A nnn用追赶法求解AMb3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年西安交通大学2021年计算方法A上机大作业 2022 西安交通大学 2021 计算方法 上机 作业
限制150内