Papatyam Forum - Tekil Mesaj gösterimi - Gauss jordan indirgeme yöntemi
Tekil Mesaj gösterimi
Alt 29 March 2008, 17:39   Mesaj No:1

tamerr89

Papatyam Paylaşımcı Üyesi
Avatar Otomotik
Durumu:tamerr89 isimli Üye şimdilik offline konumundadır
Papatyam No : 1196
Üyelik T.: 09 December 2007
Arkadaşları:0
Cinsiyet:
Yaş:34
Mesaj: 212
Konular:
Beğenildi:
Beğendi:
Takdirleri:10
Takdir Et:
Konu Bu  Üyemize Aittir!
Standart Gauss jordan indirgeme yöntemi

Gauss jordan indirgeme yöntemi

* 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;

}}
Alıntı ile Cevapla