a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 52|回复: 0

[考试试题] //回代,求解线性方程组的结果(2)

[复制链接]
发表于 2012-7-31 21:53:42 | 显示全部楼层 |阅读模式
  // 找到最大的列主元
3 H6 D9 H0 o# B4 y* ~% {  for(j = i; j < size; j++)
" j9 ]0 i1 Y% r  {  {( k: B5 [! q$ m3 e% {, I
  if(p[j] > largest)
& \" d; w6 L3 Z; [  {
: y' h( m$ y4 E/ d6 x$ n! b  largest = p[j];
8 k+ d! }  G* i8 U! S  swap_index = j;
6 H- ^# x" O: T( Z  }
% ?! Q" X8 n& ~# e: L  }* t0 w9 s7 v6 {$ m! W; s
  //如果最大列主元不在子块的第一行,那么进行交换6 O% y7 @% x& t
  if(i != swap_index)
4 s+ c1 h' O% V  {. l% K, h, C! {9 ?
  double temp = 0;* \$ c$ o" {* }7 F
  for(j = 0; j < size; j++)1 s- n( E8 o0 m
  {/ L7 l4 Z5 x0 X* ~' Z" j, B
  temp = p[j];& x. I" t- S( |
  p[j] = p[swap_index][j];
9 m* R7 r' M% f* U! r  p[swap_index][j] = temp;- w% P( D& Q' c" w( A+ _2 ^
  }& O/ T7 f  s" h3 @  s
  temp = B;
1 ^4 }' u4 z" F+ a" \8 m  B = B[swap_index];$ m% k# @4 h/ d4 m
  B[swap_index] = temp;
- ~9 f, r- m) X& r( }  }& [9 _5 O* ]* ~7 D
  //进行消元
: f( J8 s9 L& q9 A  double mi = 1.0;1 p9 Q' `1 L* v+ K5 z! F: d& ~+ N
  for(j = i + 1; j < size; j++)! G# y8 w6 q  x( Z
  {5 K7 q3 n) E3 J& x
  mi = p[j]/p;
) Q* f4 V, u+ [+ b  for(int k = i; k < size; k++)
2 E7 X9 L% ^5 l5 n  {
4 x( [" ^+ \% T. t1 I  ?1 g: v  p[j][k] = p[j][k] - mi * p[k];
" \1 j; x& f7 c! K; l% X  }& `+ b' N& E& k2 X+ ~" e) I
  B[j] = B[j] - mi * B;% |# o( v! V. |- x4 k6 m
  }" T! j9 U" J0 ~% z& f& m
  }
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-19 22:42 , Processed in 0.303325 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表