1. 程式人生 > >C語言之單位下三角矩陣求逆

C語言之單位下三角矩陣求逆

#include<stdio.h>

int main()

{

//矩陣儲存在二位陣列也可以隨機生成

   double l[4][4]={1,0,0,0,2,1,0,0,3,2,1,0,5,4,2,1};
   long bs=4,i,j,n;
//矩陣第一列求逆
 for(i = 1; i < bs; i++ )
   {

       l[i][0]=-l[i][0];
   
   } 
//bs表示矩陣的維數

   for(n=1;n<bs-1;n++)
   {
   
   
       for(i = n+1; i < bs; i++)
       {


           for(j = 0; j < n; j++)
           {
         
              l[i][j]-=l[n][j]*l[i][n];
           }
               l[i][n]=-l[i][n];


       }
   
   }


//求逆後儲存在原矩陣

//列印矩陣


   for(i=0;i<bs;i++)
  {
    for(j=0;j<bs;j++)
    {
       printf("%.2f ",l[i][j]);
    }
   printf("\n");
  }
   
    return 0;
}