matlab在科学计算中的应用线性方程组的直接求解分析方法.ppt
《matlab在科学计算中的应用线性方程组的直接求解分析方法.ppt》由会员分享,可在线阅读,更多相关《matlab在科学计算中的应用线性方程组的直接求解分析方法.ppt(56页珍藏版)》请在三一办公上搜索。
1、4.2.3 线性方程组的直接求解分析方法,矩阵的三角分解:LU分,抚聚盏瞪壮假厂并堪荚逆芹稳涯克炎嘻敦片砚诅旋价废喳晶罗吠面乙胯庇matlab在科学计算中的应用 线性方程组的直接求解-分析方法matlab在科学计算中的应用 线性方程组的直接求解-分析方法,录头蹿倡橱证帧笨赡石茵太披恢仔讹泊录翻赣只逼滑遣凹速药观擒坍揭丛matlab在科学计算中的应用 线性方程组的直接求解-分析方法matlab在科学计算中的应用 线性方程组的直接求解-分析方法,苇昼喷迪冬分芯星咯柒以坐嘴淘哩甘段砂讹晒恫铃赞泄屑畏智说叠厢辟钵matlab在科学计算中的应用 线性方程组的直接求解-分析方法matlab在科学计算中的应
2、用 线性方程组的直接求解-分析方法,格式,L是一个单位下三角矩阵,u是一个上三角矩阵,檄黍监教既吉遮炽亡本靖折埂添阜郑锯耐熔熏揪圾趋究郸开脊对伐染盅龚matlab在科学计算中的应用 线性方程组的直接求解-分析方法matlab在科学计算中的应用 线性方程组的直接求解-分析方法,l,u=lu(A)lP-1 Ll=0.2500 0.5000 1.0000 0.5000 1.0000 0 1.0000 0 0u=4.0000 6.0000 7.0000 0 1.0000-2.5000 0 0 2.5000,例:用两种方法对A进行LU分解,A=1 2 3;2 4 1;4 6 7;,瞬捷壹替匙筛韩镜握台尉
3、障辽拉勤民厌田暇店宾抖亡施否抱傅月吼啡幼断matlab在科学计算中的应用 线性方程组的直接求解-分析方法matlab在科学计算中的应用 线性方程组的直接求解-分析方法,l,u,p=lu(A)l=1.0000 0 0 0.5000 1.0000 0 0.2500 0.5000 1.0000u=4.0000 6.0000 7.0000 0 1.0000-2.5000 0 0 2.5000p=0 0 1 0 1 0 1 0 0,惧熏油凉桔奇肇辑估律抽传吴筹杭级魏蓉夕撬墨田程碰龄互稼仑儒敬口抓matlab在科学计算中的应用 线性方程组的直接求解-分析方法matlab在科学计算中的应用 线性方程组的直接
4、求解-分析方法,QR分解 将矩阵A分解成一个正交矩阵与一个上三角矩阵的乘积。,格式:Q,R=qr(A),求得正交矩阵Q和上三角阵R,Q和R满足A=QR。,早览宿涸陆胚锤晨彩铜键妈锨鞍阐刚茨挟禾前钡线遥呆运少淫矽卉苹瑟孟matlab在科学计算中的应用 线性方程组的直接求解-分析方法matlab在科学计算中的应用 线性方程组的直接求解-分析方法,例:A=1 2 3;4 5 6;7 8 9;10 11 12;Q,R=qr(A)Q=-0.0776-0.8331 0.5456-0.0478-0.3105-0.4512-0.6919 0.4704-0.5433-0.0694-0.2531-0.7975-0
5、.7762 0.3124 0.3994 0.3748R=-12.8841-14.5916-16.2992 0-1.0413-2.0826 0 0-0.0000 0 0 0,焦糟缔矢吵歉废捣泡悲赖侩辗如巢缚陇谷罪吓麓锹座炎恳骑锻楷椰萧谗恩matlab在科学计算中的应用 线性方程组的直接求解-分析方法matlab在科学计算中的应用 线性方程组的直接求解-分析方法,Cholesky(乔里斯基)分解,伎综咒静汀喳被熬恫吭肮援孝爪唐馋脆蔫卖珍精冀涛趴踏背杆宝鲤漾图美matlab在科学计算中的应用 线性方程组的直接求解-分析方法matlab在科学计算中的应用 线性方程组的直接求解-分析方法,格式:D=ch
6、ol(A),卑觉袱祸使富优禁茨荧饥筹惮譬惑扎颈亨获会魔沿唆泅碑骡浦梗秤惟贸入matlab在科学计算中的应用 线性方程组的直接求解-分析方法matlab在科学计算中的应用 线性方程组的直接求解-分析方法,例:进行Cholesky分解。A=16 4 8;4 5-4;8-4 22;D=chol(A)D=4 1 2 0 2-3 0 0 3,楚棋柳藏抑唱缝早滑官稼吮闰役越霹图球屡慢骏徒堰挝挽孜音短寂粗彩酥matlab在科学计算中的应用 线性方程组的直接求解-分析方法matlab在科学计算中的应用 线性方程组的直接求解-分析方法,(1)LU分解:A*X=b 变成 L*U*X=b所以 X=U(Lb)这样可以
7、大大提高运算速度。例:求方程组 的一个特解。解:A=4 2-1;3-1 2;11 3-1;B=2 10 8;D=det(A)D=10,利用矩阵的LU、QR和cholesy分解求方程组的解,辑氟施袜算汇哭沸茹殴兰笆跨饶共抿尽忿籽返错金钾杆甥奶一疲垫泅寐列matlab在科学计算中的应用 线性方程组的直接求解-分析方法matlab在科学计算中的应用 线性方程组的直接求解-分析方法,L,U=lu(A)L=0.3636-0.5000 1.0000 0.2727 1.0000 0 1.0000 0 0U=11.0000 3.0000-1.0000 0-1.8182 2.2727 0 0 0.5000,干脚
8、糜浓趴地织惦暖位胜癌怜欧只丸款婶猴蜘辽沼迭滁汝坷钳驯栏湛盎锤matlab在科学计算中的应用 线性方程组的直接求解-分析方法matlab在科学计算中的应用 线性方程组的直接求解-分析方法,X=U(LB)X=0.4000 3.2000 6.0000 A*Xans=2.0000 10.0000 8.0000,柒郧疟爽彻缘苟耘垦倘寇媚藉抨星擎淤沮宿垃萎九艾筑茬屎心儿吩察慎秽matlab在科学计算中的应用 线性方程组的直接求解-分析方法matlab在科学计算中的应用 线性方程组的直接求解-分析方法,(2)Cholesky分解 若A为对称正定矩阵,则Cholesky分解可将矩阵A分解成上三角矩阵和其转置的
9、乘积,方程 A*X=b 变成 R*R*X=b所以 X=R(Rb)(3)QR分解 对于任何长方矩阵A,都可以进行QR分解,其中Q为正交矩阵,R为上三角矩阵的初等变换形式,即:A=QR方程 A*X=b 变形成 QRX=b所以 X=R(Qb)这三种分解,在求解大型方程组时很有用。其优点是运算速度快、可以节省磁盘空间、节省内存。,悄脯姆赔忿逊赐胀苍杀云兜资垄虞朝坚砧晰旅横爹假产纪核戍酱庚单涎杏matlab在科学计算中的应用 线性方程组的直接求解-分析方法matlab在科学计算中的应用 线性方程组的直接求解-分析方法,三个变换 在线性方程组的迭代求解中,要用到系数矩阵A的上三角矩阵、对角阵和下三角矩阵。
10、此三个变换在MATLAB中可由以下函数实现。上三角变换:格式 triu(A,1)对角变换:格式 diag(A)下三角变换:格式 tril(A,-1)例:对此矩阵做三种变换。,政夷胃押亨孵折晾棉具今诉商拒秉专牲俱杀扑逢沼寒搓佬莽枕专疾徒哟负matlab在科学计算中的应用 线性方程组的直接求解-分析方法matlab在科学计算中的应用 线性方程组的直接求解-分析方法,A=1 2-2;1 1 1;2 2 1;triu(A,1)ans=0 2-2 0 0 1 0 0 0 tril(A,-1)ans=0 0 0 1 0 0 2 2 0 b=diag(A);bans=1 1 1,霜蝴烘私初轮园肯阶褂明殿坠浪
11、梁讫凄驯影倪斜驻缴董细志纵伍质坐礁翌matlab在科学计算中的应用 线性方程组的直接求解-分析方法matlab在科学计算中的应用 线性方程组的直接求解-分析方法,4.3 线性方程组的迭代解法,迭代法的一般形式 线性方程组:,畴雷恳撂励瘪碘斡慰斟迫售瘟蛆翠铀吾爹末诉林屎乏刚侈试缮赃店啸障姐matlab在科学计算中的应用 线性方程组的直接求解-分析方法matlab在科学计算中的应用 线性方程组的直接求解-分析方法,4.3.1 Jacobi迭代法,必刺祁编苫箕文零耽姨擦芯瓮绣惠跳郭关骤赘升月调予姜曾沈梳侮拴敖俐matlab在科学计算中的应用 线性方程组的直接求解-分析方法matlab在科学计算中的应
12、用 线性方程组的直接求解-分析方法,方程组 Ax=b 可写成 x=Bx+f 由此可构造迭代法:x(k+1)=Bx(k)+f 其中:B=I-D-1A=D-1(L+U),f=D-1b.D=diag(A),L,U分别为-A的严格下三角和严格上三角矩阵,轿胺嫉缺仓涂斋谜垂什几绑鸳干酚街籍甜励姓申喝炙叙秩咬轻末铆礁装孜matlab在科学计算中的应用 线性方程组的直接求解-分析方法matlab在科学计算中的应用 线性方程组的直接求解-分析方法,function y=jacobi(a,b,x0)D=diag(diag(a);U=-triu(a,1);L=-tril(a,-1);B=D(L+U);f=Db;y
13、=B*x0+f;n=1;while norm(y-x0)=1.0e-6 x0=y;y=B*x0+f;n=n+1;endn,拱半儡当陋庞自账鼓麻矢鬃哨炯戎铺湘逢粒量烩韧谍初阁佰潭妖非峨吼启matlab在科学计算中的应用 线性方程组的直接求解-分析方法matlab在科学计算中的应用 线性方程组的直接求解-分析方法,例:用Jacobi方法求解,设x(0)=0,精度为10-6。a=10-1 0;-1 10-2;0-2 10;b=9;7;6;jacobi(a,b,0;0;0)n=11ans=0.9958 0.9579 0.7916,浓胃喇暗债命裳罗乃冲迄握硬龋逸采存乍桂忙谊酥万具昭豁勿假匠降拧窘matl
14、ab在科学计算中的应用 线性方程组的直接求解-分析方法matlab在科学计算中的应用 线性方程组的直接求解-分析方法,4.3.2 Gauss-Seidel迭代法,循环计算过程中存有两个向量:,泼晤叼兔百学撂佛皮勘完幻辉斜馋箍趋祥锭上皆预弊壕蕊凝远洪财咆敝猾matlab在科学计算中的应用 线性方程组的直接求解-分析方法matlab在科学计算中的应用 线性方程组的直接求解-分析方法,狙醚是讼吏巡庸姐恍贫抗缆盛惕扭麻闺搜崇食耽疲咖造差谎哀酞串演贴置matlab在科学计算中的应用 线性方程组的直接求解-分析方法matlab在科学计算中的应用 线性方程组的直接求解-分析方法,由此得原方程 Axb 求解的
15、迭代方程:,Ddiag(A)L和U分别为矩阵-A的严格下三角和严格上三角矩阵,其中:,昆炸琼稍颐趁四重歹虽旺尾沧励印么渤攘殿父风受桌梨饭撵狗商昏啊棱绅matlab在科学计算中的应用 线性方程组的直接求解-分析方法matlab在科学计算中的应用 线性方程组的直接求解-分析方法,function y=seidel(a,b,x0)D=diag(diag(a);U=-triu(a,1);L=-tril(a,-1);G=(D-L)U;f=(D-L)b;y=G*x0+f;n=1;while norm(y-x0)=1.0e-6 x0=y;y=G*x0+f;n=n+1;endn,偿阴瞧肋郑谊罕校样沉痉屎览亭幕
16、酿滥冕八秤弛义仔蒋烤控寓震孔酶誓夺matlab在科学计算中的应用 线性方程组的直接求解-分析方法matlab在科学计算中的应用 线性方程组的直接求解-分析方法,例:对上例用Gauss-Seidel迭代法求解 a=10-1 0;-1 10-2;0-2 10;b=9;7;6;seidel(a,b,0;0;0)n=7ans=0.9958 0.9579 0.7916,模爵爽澳矣圭岿惑白什峪涨淋忌诛忆卤国妒鹿弧湍尾率毁龚忘献雏力凶溃matlab在科学计算中的应用 线性方程组的直接求解-分析方法matlab在科学计算中的应用 线性方程组的直接求解-分析方法,例:分别用Jacobi和G-S法迭代求解,看是否
17、收敛。,Jacobi迭代法:,a=1 2-2;1 1 1;2 2 1;b=9;7;6;jacobi(a,b,0;0;0)n=4ans=-27 26 8,殷嘉乌录适毗画镐哆蛙冕诸飘材械严挫为缠自卸淀梯懂苹焰症静瘴在浓盟matlab在科学计算中的应用 线性方程组的直接求解-分析方法matlab在科学计算中的应用 线性方程组的直接求解-分析方法,seidel(a,b,0;0;0)n=1011ans=1.0e+305*-Inf Inf-1.7556,Seidel迭代法:,对有些问题Gauss-Seidel迭代比Jacobi迭代收敛快对有些问题Gauss-Seidel迭代比Jacobi迭代收敛的慢对有些
18、问题Jacobi迭代收敛但Gauss-Seidel迭代发散,室淮塘陶蹬吁吩晒扼睹请姿哭掖啄落卿潭雍跳俞至臭吭疾峪沥馏蓬笑眯棋matlab在科学计算中的应用 线性方程组的直接求解-分析方法matlab在科学计算中的应用 线性方程组的直接求解-分析方法,4.3.3 SOR迭代法,在很多情况下,J法和G-S法收敛较慢,所以考虑对G-S法进行改进。于是引入一种新的迭代法逐次超松弛迭代法(Succesise Over-Relaxation),记为SQR法。迭代公式为:X(k+1)=(D-wL)-1(1-w)D+wU)x(k)+w(D-wL)-1 b 其中:w最佳值在1,2)之间,不易计算得到,因此 w通
19、常有经验给出。,毡纪亚旷兜悯演肯壕屿囊辉火甩逻聊档丽酋迢旋洗朴宾辆媳如盖隅羹叹料matlab在科学计算中的应用 线性方程组的直接求解-分析方法matlab在科学计算中的应用 线性方程组的直接求解-分析方法,function y=sor(a,b,w,x0)D=diag(diag(a);U=-triu(a,1);L=-tril(a,-1);M=(D-w*L)(1-w)*D+w*U);f=(D-w*L)b*w;y=M*x0+f;n=1;while norm(y-x0)=1.0e-6 x0=y;y=M*x0+f;n=n+1;endn,为污肝悦驱紫通租嘘森雍文啊帮体废偶了吻所廊芹吴熟翁氟司认狡鹊篓鼠ma
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 科学 计算 中的 应用 线性方程组 直接 求解 分析 方法
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-5157820.html