选主元素高斯消去法求解非线性方程组的实验报告一、实验题目利用选主元素高斯消去法求解以下线性方程组: 二、实验引言 1. 实验目的?掌握用直接法,即选主元素高斯消去法求解线性方程组的基本思想和步骤,熟。悉 fortran 语言精确求解该方程组; ?并能够利用选主元的高斯消去法解任意阶数的线性方程组。 2. 实验意义消去法虽程序复杂, 对高阶矩阵易受到计算机容量的限制, 适用于中小型方程组,但该方法精确度高且工作量小三、算法设计 1. 选主元消去法基本思路(1 )消元过程。对于 k=1,2,...,n-1 ,进行下列运算: ①选主元,确定 r,t 使得若 art=0 ,则系数矩阵为奇异的,停止计算;否则进行下一步。②交换 A 中的 r、t 两行及 t、k 两列,并记下交换的号码 t、k。③对于 i=k+1 , k+2 ,…n; j=k+1 , k+2 ,… n+1 ,计算(2 )回代过程。对于 k=n , n-1 ,…,1 ,计算???????????????? 321 321 321xxx xxx xxx (3 )恢复解的顺序 2. 算法流程图主程序选主元素四、程序设计 program main integer,parameter::n=3 real::a(3,3)=(/,-,-,-,,-,-,-,/) real::b(3)=(/,,/) integer::k,i,j,l real::m,t do k=1,n m=abs(a(k,k)) l=k do i=k+1,n if(abs(a(i,k))>m) then d=a(i,k) l=i end if if (d/=0) then write(*,*) "!" end if if(l/=k) then t=a(l,j) a(l,j)=a(k,j) a(k,j)=t t=b(l) b(l)=b(k) b(k)=t end if end do do j=k+1,n a(k,j)=a(k,j)/a(k,k) end do b(k)=b(k)/a(k,k) do i=k+1,n do j=k+1,n a(i,j)=a(i,j)-a(k,j)*a(i,k) end do b(i)=b(i)-b(k)*a(i,k) end do end do do i=n,1,-1 do j=i+1,n b(i)=b(i)-a(i,j)*b(j) end do end do write(*,*) b(1),b(2),b(3) end 五、结果及讨论 ( 1)误差运用选主元素法,减小了舍入误差对解的影响。( 2)收
选主元素法实验报告 来自淘豆网m.daumloan.com转载请标明出处.