下载此文档

Matlab数值算法实现.ppt


文档分类:高等教育 | 页数:约36页 举报非法文档有奖
1/36
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/36 下载此文档
文档列表 文档介绍
Ch10. 数值算法实现§1. 线性方程组解法 1、三角形线性方程组解法以上三角形线性方程组为例。回代: ??????????????????? ii nij j ij ii nn nnaxabx abx 1,1,2,,2,1????nni Ax b ? % 文件 function u = uptri ( a, b ) n= size(a,1) ; x(n)= b(n) / a(n, n) ; for i = n-1:-1:1 s=0 ; for j = i+1: n s=s+a(i, j) * x( j ) ; end x(i) = ( b(i) – s) / a(i, i) ; end u = x ; 求解 Ax b ????? nij j ijxas 12、顺序 Gauss 消去法(1)消去过程: 第 k 步,计算(2)回代过程: ( ) ( ) ( 1) ( ) ( ) ( 1) ( ) ( ) , 1, , , 1, , ; 1, , , 1, , k k ik ik kk k k k ij ij ik kj k k k i i ik k a a i k n a a a i k n j k n b b b i k n ???? ???? ? ??????? ? ???? ?? ??? ?)1,,2,1(??nk????????????????????)(1 )()( )()(, i ii nij j i ij iii nnn nnnaxabx abx1,2,,2,1????nni%文件 function u = gauss (a, b) n = length (b) ; for k=1: n –1 for i = k+1 : n mult = a ( i, k) / a (k, k) ; for j =k +1: n % if abs ( a( k, k) ) > 1e–6 a (i, j) = a (i, j) – mult * a(k, j) ; % else % disp ( ‘顺序 Gauss 消去法失败’); % pause ; % exit ; % end end 可去掉%, 判断主元是否为 0 b (i) = b (i) – mult * b (k) ; end end x(n)= b(n) / a(n, n) ; for i = n-1:-1:1 s=0 ; for j = i+1: n s=s+a(i, j) * x( j ) ; end x(i) = ( b(i) – s) / a(i, i) ; end u = x ; 回代例: % 主文件 a=[6, -2, 2, 4; 12, -8, 6, 10; 3,-13, 9, 3; -6, 4, 1, -18 ]; b=[16, 26, -19, -34]; x= gauss (a, b); disp ( ‘方程组解为:’ ); x则有: >> main 方程组解为:x= 3 1 -2 1 3、 Jacobi 迭代法 b Ax? A D L U ? ??????????????????????????????????????????????????????????? 0 0 00 0 0 0 223 113 12 21 32 31 21 22 11???????????? n n nn nnaa aaaaa aa aa a a,)( 1)( 1)1(bDxULD x k k ?????? 0,1, 2, k??% function y = jacobi ( a, b, x0) D = diag ( diag (a) ) ; U = - triu (a, 1) ;

Matlab数值算法实现 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数36
  • 收藏数0 收藏
  • 顶次数0
  • 上传人wc69885
  • 文件大小0 KB
  • 时间2016-07-04