Advertisement
Guest User

Untitled

a guest
Aug 18th, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. void MainWindow::GetInverseMatrix1()
  2. {
  3.     if(isProcessed)
  4.     {
  5.  
  6.     /*float iMatrix[MatrixSize][MatrixSize];
  7.     float tempMatrix[MatrixSize][MatrixSize];
  8.     int i,j,n;
  9.     float sum=0;
  10.  
  11.     for(i=0;i<MatrixSize;i++)
  12.     {
  13.         for(j=0;j<MatrixSize;j++)
  14.         {
  15.             iMatrix[i][j]=0;
  16.             tempMatrix[i][j]=0;
  17.             SourceMatrix[i][j]=0;
  18.         }
  19.         iMatrix[i][i]=1;
  20.     }
  21.  
  22.     sum=0;
  23.  
  24.     for(n=0;n<MatrixSize;n++)
  25.     {
  26.         for(i=0;i<MatrixSize;i++)
  27.         {
  28.             for(j=0;j<i;j++)
  29.             {
  30.                 sum+=SourceMatrix[i][j]*tempMatrix[j][n];
  31.                 tempMatrix[i][n]=(iMatrix[i][n]-sum)/(SourceMatrix[i][i]);
  32.                 sum=0;
  33.             }
  34.         }
  35.     }
  36.  
  37.     sum=0;
  38.  
  39.     for(n=0;n<MatrixSize;n++)
  40.     {
  41.         for(i=MatrixSize-1;i>=0;i--)
  42.         {
  43.             for(j=MatrixSize-1;j>=0;j--)
  44.             {
  45.                  sum+=SourceMatrix[i][j]*SourceMatrix[j][n];
  46.             }
  47.             SourceMatrix[i][n]=tempMatrix[i][n]-sum;
  48.             sum=0;
  49.         }
  50.     }*/
  51.     float iMatrix[MatrixSize][MatrixSize];
  52.     float tempMatrix[MatrixSize][MatrixSize],invertedMatrix[MatrixSize][MatrixSize];
  53.     int i,j,n;
  54.     float sum=0;
  55.  
  56.         for(i=0;i<MatrixSize;i++)
  57.         {
  58.             for(j=0;j<MatrixSize;j++)
  59.             {
  60.                 iMatrix[i][j]=0;
  61.                 tempMatrix[i][j]=0;
  62.                 invertedMatrix[i][j]=0;
  63.             }
  64.             iMatrix[i][i]=1;
  65.         }
  66.  
  67.         sum=0;
  68.  
  69.         for(n=0;n<MatrixSize;n++)
  70.         {
  71.             for(i=0;i<MatrixSize;i++)
  72.             {
  73.                 for(j=0;j<i;j++)
  74.                   sum+=SourceMatrix[i][j]*tempMatrix[j][n];
  75.                     tempMatrix[i][n]=(iMatrix[i][n]-sum)/(SourceMatrix[i][i]);
  76.                     sum=0;
  77.  
  78.             }
  79.         }
  80.  
  81.         sum=0;
  82.  
  83.         for(n=0;n<MatrixSize;n++)
  84.         {
  85.             for(i=MatrixSize-1;i>=0;i--)
  86.             {
  87.                 for(j=MatrixSize-1;j>=0;j--)
  88.  
  89.                      sum+=SourceMatrix[i][j]*invertedMatrix[j][n];
  90.  
  91.                 invertedMatrix[i][n]=tempMatrix[i][n]-sum;
  92.                 sum=0;
  93.             }
  94.         }
  95.  
  96.         for(int i = 0; i < MatrixSize; i++)
  97.             {
  98.                 /*this->GenerateIndexes();
  99.                 this->SwapIndexes(i);*/
  100.                 for(int j = 0; j < MatrixSize; j++)
  101.                 {
  102.                     QString buffer_item;
  103.                     buffer_item = QString::number(invertedMatrix[i][j]/*[ColumnIndexVector[j]]*/);
  104.                     QTableWidgetItem *newCell = new QTableWidgetItem(buffer_item);
  105.                     ui->InvertedMatrixV1Widget->setItem(i,j,newCell);
  106.                 }
  107.             }
  108.     }
  109.     else
  110.     {
  111.         QMessageBox::warning(this, tr("أژأ¸أ¨أ،أھأ  أ¢أ¢أ®أ¤أ  أ°أ أ§أ¬أ¥أ°أ "), tr("°أ !"));
  112.     }
  113.  
  114. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement