Hazır Script – Hazır Kod » Gauss jordan indirgeme yöntemi

Haberler  Forum  Memurlar  Meb  Sağlık   Sözleşmeli  Kpss  Adalet  Diyanet   Kariyer  Anket  Spor  Sözlük  Oyun  Sohbet  FM

 

Gauss jordan indirgeme yöntemi

Gauss jordan indirgeme yöntemi

Biraz aceleye geldiği için küçük degişikliklere ihtiyacı olabilir.bloodshed devc++da hazırlanmıştır.

codeDivStart()


*  Gauss-Jordan Yndirgeme Yöntemi Uygulamasy

    Hazyrlayan : Mahmut ACAR

    Bu uygulama #define str 4 de?eri ve dizi[][]= de?eri de?i?tirilerek

    daha büyük dizilere uygulanabilir.

*/

#include <iostream>

#include <stdlib.h>

#define str 4                                                  // satyr sayysy giriliyor

#define stn str+1                                              // sütün sayysy=satyr+1 giriliyor

using namespace std;

void yaz( double x[str][stn] );                                // dizi'nin ekrana yazdyrylmasy

int main(int argc, char *argv[])

{

double dizi[str][stn]={13,5,-3,1,18,                           // Dizi degerleri de?i?kene atanyyor

                      2,12,1,-4,13,

                      3,-4,10,1,29,

                       2,1,-3,9,31};

double temp;

  cout<<endl<<"Girilen Matris"<<endl;                           // Ekrana giri? dizisi yazdyrylyyor.

  yaz(dizi);

            for (int q=0;q<str;q++){

                              temp=dizi[q][q];

                              for (int a=q; a<stn;a++){         // q'ncü satyryn q'ncü elemanyny 1'e e?itliyoruz

                              dizi[q][a]=dizi[q][a]/temp;}      // 1'e e?itleme bitti

                              for(int b=q+1;b<str;b++){         // ileri do?ru yok etme uygulanyyor

                                   temp=-1*dizi[b][q];

                                   for (int a=0; a<stn;a++){     // Üst üçgen matris elde ediliyor.

                                         dizi[b][a]=dizi[b][a]+(dizi[q][a]*temp);}}}

  cout<<endl<<"Ust Ucgen Matris Elde Edildi"<<endl;

  yaz(dizi);

            for (int q=str-2; q>=0 ; q--){                       // Birim matris formuna indirgeniyor

                            for (int a=q+1; a<stn-1; a++){       // Ylgili sütun ve son sütun üzerinde i?lem yapylyyor

                            temp=-1*dizi[q][a];

                            dizi[q][a]=dizi[q][a]+(dizi[a][a]*temp);

                            dizi[q][stn-1]=dizi[q][stn-1]+(dizi[a][stn-1]*temp);}}

  cout<<endl<<"Birim Matris Elde Edildi"<<endl;

  yaz(dizi);                                                     // Elde edilen birim matris ekrana yazdyrylyyor

  system("PAUSE");

  return 0;

}

void yaz ( double x[str][stn] )                                  // Dizi de?erlerinin ekrana yazylmasy

{

cout<<"-----------------------------------\n";

for ( int m=0; m<str; m++){

    for (int n=0; n<stn-1 ; n++){

           cout<<"X"<<n+1<<"= "<<x[m][n]<<"  ";}

           cout<<"Y="<<x[m][stn-1]<<endl;

}}

mahmut acar

acarmahmut@hotmail.com
Etiketler:
Henüz yorum yok.

HABERLER

Bad Behavior has blocked 101 access attempts in the last 7 days.