Matrisin tersinin alınması (Mantrix Inverse)

Yazan : Şadi Evren ŞEKER

Bir matrisin tersini almak çarpma işlemine göre tersini almak anlamındadır. Örneğin A ve B matrislerinin çarpımından C matrisi çıkıyorsa; C matrisi ile A matrisinin tersi B matrisini vermelidir. Bunu bir nevi bölme olarak düşünmek de mümkündür.

2 boyutlu bir matrisin tersini bulmak içn öncelike determinantı hesaplanır ardından aşağıda gösterildiği üzere elemanları yer değiştirilir:

Yukarda, ilk satırda verilen A matrisinin determinantı hesaplanmış ( |A| ) ve gösterilen yerdeğiştirmiş matris ile skalar (scalar) çarpım yapılmıştır.

Sonuçta elde edilen matris, orjinal A matrisinin tersidir.

Matris 3×3 boyutlarında olsaydı bu hesaplama aşağıdaki şekilde yapılmalıydı:

Görüldüğü üzere matrisin boyutunun değişmesi halinde ters alma işlemi de değişmektedir. Yukarıdaki mantık ile örneğin 4×4′lük bir matris’in tersi alınırken önce 3×3 alt matrislerinin yazılması ardından her bir alt matrisin determinantının yukarıdakine benzer şekilde yerleştirilmesi gerekir.

4×4′lük matrisin tersinin alınması (Utku Bey’in isteği üzerine yazıyorum)

matris tersi alınırken, matrisin boyutunun önemi olunmaksızın determinant alınarak işlem yapılır. Örneğin matris boyutu nxn ise bu matriste (n-1)x(n-1) boyutlarındaki alt matrislerin determinantlarının yer değiştirmiş halleri hesaplanır ve 1/|A| değeri ile skalar çarpım yapılır.

Örneğin matrisimiz aşağıdaki şekilde 4×4 boyutlarında bir matris olsun

Yukarıdaki bu matrisin tersini almak için öncelikle determinantını hesaplayalım:

Ters alma işlemi için determinant sıfırdan farklı olmalıdır. Ardından matrisin tersini alalım:

Buradaki kapalı şekilde yazılan b değerleri ters alma işleminden sonra yapılan yer değiştirmeyi göstermektedir. Yani örneğin b11 değeri, 1. satır ve 1. sütundaki değerleri kapanmış halde matrisin determinantının alınması ile bulunur.

Benzer şekilde b23 değeri için, orjinal matriste bulunan 2. satır ve 3. sütundaki sayılar dışında kalan sayılardan (ki bu sayılar 3×3 boyutlarında bir matris oluşturur) elde edilen determinant değeridir.

Buradaki b değerleri, matrisin verilen satır ve sütun için kofaktörüdür (cofactor).

Bu değerleri açık şekilde yazacak olursak:

şeklinde sayıları sıralayabiliriz.

Yukarıdaki ters alma işlemi kısaca olay iki parçadan oluşuyor, birinci aşamada determinant almanız gerekiyor (nxn boyutundaki bir matris determinantı bilgisayar kullanarak en kolay leibniz yöntemi ile alınır)

ikinci adımda b terimlerini hesaplamanız gerekiyor. Bu terimlerin hesabı için hangi koordinat hesaplanacaksa, o koordinatın satır ve sütunu kapatılıp geri kalan elemanlar bir sarmal şeklinde çarpılır. Bu durumu linkteki örnekten açıkça görebilirsiniz. Örneğin b21 için 2. satır ve 1. sütun kapatılıp kalan elemanlar bir sarmal şeklinde çarpılıp toplanmıştır. Burada mod işlemi ile sarmallık sağlanabilir.

Gauss Jordan Yöntemi

Gelen bir soru üzerine, Gauss Jordan yöntemini adım adım anlatan yeni bir bölüm ekliyorum. Öncelikle yukarıdaki kodda, Gauss Jordan metodunu kullanıyoruz. Bu metotta amaç bir matrisin tersini almak için tersi olan matris ile çarpımını, birim matrise dönüştürmektir.

A x A-1 = I

işlemine göre şayet A matrisinin tersi isteniyorsa

A x B = I , şeklinde yazdığımız B matrisi, A matrisinin tersidir ve

I = A x B , şeklinde yazılabilir.

Buradaki B matrisini elde ederken aslında birim matris üzerinde işlem yapılarak A matrisinin tersi alınmış olur.

Örneğin aşağıdaki matrisi ele alalım:

101

021

111

Bu matrisin tersini alırken öncelikle yanına bir çizgi çekip birim matrisi yazıyoruz:

101|100

021|010

111|001

Buradaki amacımız sol ve sağ tarafta aynı işlemleri yaparak sol tarafta birim matrisi elde etmektir. Böylelikle sağ tarafta matrisin tersi oluşacaktır. Bu satırlar üzerinde yapılan işlemlerre yalın satır işlemleri (elementary row operations) ismi verilir. Bu işlemler aşağıdaki şekilde sıralanabilir:

Elbette yukarıdaki bu işlemler, çizginin iki tarafına da uygulanacaktır. Buradaki işlemler aslında bir matriste bir denklemin tutulması durumunda denklemler üzerine yapılan işlemlere benzetilebilir. Örneğin 3 bilinmeyenli 3 denklem ele alınırsa bir denklemin diğer denklemin çözümünde kullanılırken yapılan işlemler gibidir.

Şimdi matrisin tersini alma işlemi ile devam edelim. Amacımız ilk sütunu birim matrise benzetmek. İlk sütunda 3. satırda bulunan 1 tek farklı sayıdır. Dolayısıyla 3. satırın ilk terimini 0 yapabilmek için ilk satırı, 3. satırdan çıkarabiliriz.

101|100

021|010

010|-101

yukarıdaki işlem sonucunda görüldüğü üzere çizginin solundaki ilk satır 3. satırdan ve çizginin sağındaki ilk satır yine çizginin sağındaki 3. satırdan çıkarılmıştır.

çizginin solunda elde edilen 3. satır aslında birim matrisin ikinci satırıdır. O halde 3. satır ile 2. satırı yer değiştirirsek matrisin sol tarafından birim matrise daha çok yaklaşılmış olunur.

101|100

010|-101

021|010

Yine 3. satırı birim matrise benzetmek için bu sefer 2. satırın 2 mislini, 3. satırdan çıkarmak yeterlidir.

101|100

010|-101

001|21-2

Yukarıda görüldüğü üzere çizginin iki yanında da ikinci satır 2 ile çarpılmış ve 3. satırdan çıkarılmıştır.

Sırada ilk satırı birim matrise benzetmek var. Bu işlem için ilk satırdan 3. satırı çıkarmak yeterlidir:

100|-1-12

010|-101

001|21-2

Görüldüğü üzere çizginin sol tarafından birim matri elde edildi. Bu durumda matrisin sağ tarafında elde ettiğimiz matris, ilk matrisin tersidir.

1-12

-101

21-2

sonucunu bulmuş oluruz.

Programlama

Matrisin tersinin alınması işleminin bilgisayarlar marifetiyle yapılması için algoritmik bir yaklaşıma ihtiyaç vardır. Bu bağlamda matrisin boyu ve içeriğinden bağımsız olarka matrisin tersini almak için aşağıdaki yaklaşımı kullanabiliriz.

Bir matrisin tersi, matrisin kendisi ile çarpıldığına birim matrisi veren matristir. Birim matris (identity matrix) ise diyagonu 1 ve diğer elemanları 0 olan matristir.

Öyleyse bir matrisi gerekli işlemleri yaparak birim matrise dönüştürürsek ve bu işlemler sırasında her elemana yapılan değişimi tutarsak sonuçta elde ettiğimiz bu değişim matrisi, orjinal matrisimizin tersi olacaktır.

Aşağıda bu işlemleri adım adım yapan C kodunu yazıp açıklamaya çalışalım.

İlk adımda matris boyutunu ve içeriğini dolduralım.

Kodun ilk kısmında görüldüğü üzere 4×4 boyutlarında bir matris tanımlanmış ve bu matrisin içeriği ekrana bastırılmıştır. Yukarıdaki tanım itibariyle matrisimizin içeriği aşağıdaki şekildedir:

Şimdi bu matrisin tersini alma işlemi sırasında kullanacağımız birim matrisi döngüler ile oluşturabiliriz:

Yukarıdaki kod, köşegeninde (diagon) 1 olan ve diğer elemanları 0 olan bir matris inşa etmektedir. Bu işlem için matrisin satır ve sütun koordinatlarını tutan i ve j döngü değişkenlerinin eşit olması durumu 1, diğer durumlar 0 olarak döngülerde kodlanmıştır.

Şu anda, tersi alınması istenen matris a dizisinde, birim matris ise b dizisinde tutulmaktadır. Yapılaması gereken, a matrisini b matrisine dönüştürmektir.

Yukarıda görüldüğü üzere kodun 24-27. satırları arasında matrisin diyagonu olan değerleri 1 yapacak değerler bulunmaktadır. Bir sayının kendisine bölümü 1′dir. Dolayısıyla matrisin tersi olan sonuç matrisimizdeki, ki şu an itibariyle birim matristir, diyagon değerleri, orjinal matrisin diyagon değerlerine bölünmüştür.

Ardından diyagon olmayan değerler için dönene ve 28. satırda başlayan ikinci döngü ile diyagonda olmayan elemanlardan, diyagondaki elemanla çarpımları çıkarılmaktadır. (kodun 32. satırındaki k değişkeni o satırdaki diyagon değerini vermektedir. Bu değer orjinal matristeki değer ile çarpılıp yine aynı satır ve sütundaki değerden çıkarılmaktadır)

Bu işlem hem orjinal matris hem de sonuç matrisinde bire bir yapılır ve sonuçta sonuç matrisimiz b değişkeni içinde oluşur. Bu değeri bastırmak için aşağıdaki şekilde bir döngü yazılması yeterlidir.

Kodumuzun çalışan hali aşağıda verilmiştir:

Bu yazıyı beğendiyseniz, başkalarının da ilgisini çekebilirsiniz:


18,087 views

37 responses to “Matrisin tersinin alınması (Mantrix Inverse)”
  1. utku sönmez says:

    iyi günler. acaba benim için 4×4 bir matrisinde tersini yazabilir misiniz buradaki gibi? Bir de 3x3lük matrisin tersini alırken alıcağımız determinantları neye göre yerleştiricez.
    teşekkürler.

  2. Şadi Evren ŞEKER says:

    elbette, yazının içerisine ekleme yapıyorum sanırım birazdan yayınlarım.

    umarım yardımcı olur

    başarılar

  3. Furkan Yediyildiz says:

    Algoritmanin mantigi cok güzel anlatilmis,tesekkürler.

  4. mehdi jr. says:

    gauss jordan daha gusel bu iş biraz uzun onuda yazarsanız güzel katkı olur

  5. Celal Xalafov says:

    coooook iwime yarada tewekkur ederim

  6. Mehmet Türkoğlu says:

    C’yi bilmediğim için bunu soruyorum. File/New/Project dedikten sonra hangisini seçeceğiz?

  7. Şadi Evren ŞEKER says:

    Hangi editörü kullanıyorsunuz? C bir dildir ve pekçok farklı ortamda kodlanabilir. Aşağıda bazı C editörlerinin nasıl kullanıcağına dair daha önceden yayınladığım yazılara bağlantı veriyorum.

    Visual Studio 2010 ile C++ için
    http://www.bilgisayarkavramlari.com/2010/09/27/visual-c-2010/

    Dev-CPP Projelerini Visual Studio ile açmak için
    http://www.bilgisayarkavramlari.com/2010/05/01/dev-cpp-projelerinin-visual-studio-ile-acilmasi/

    Dev-CPP ve Visual Studio giriş için
    http://www.bilgisayarkavramlari.com/2008/10/06/c-ile-kodlama/

    Pardus üzerinde Dev-CPP çalıştırmak için
    http://www.bilgisayarkavramlari.com/2009/10/18/pardus-uzerinde-dev-cpp/

  8. Yunus Seçkin says:

    2×2 lik bir kare matrisin terisini bulan programı yazabilir misiniz hocam,,şu an dersteyim ve bunu vermeden çıkartmıyor hocamız:))yardımcı olursanız çok sevinirim..

  9. mesut says:

    acaba rica etsem n*n matrisin hesaplanmasını da yapabilirmisiniz…

  10. yukarıdaki koda zaten istenilen boyuttaki matrisin tersini alabiliyor. Tek yapmanız gereken 4×4 boyutundaki matris yerine farklı bir matris yazıp 4 değerini bu yeni matrisin boyutu ile değiştirmeniz.

    başarılar

  11. merve says:

    merhaba.. benimde ödevim bu konu..oturup gauss jordan yöntemiyle kod yazmaya çalıştım ama sürekli access violation hatasını veriyo nerde yanlışş yapıyorum yardımcı olursanız sevinirim..:
    for(int i=0;i<satir;i++){
    if(temp[i][i]!=1)
    {double a=temp[i][i];
    for(int j=0;j<2*sutun;j++)
    {temp[i][j]=temp[i][j]/a;} }
    for(int k=i+1;k<satir;k++) {
    for(int t=0;t=2*sutun;t++)
    temp[k][t]=temp[k][t]-temp[k][t]*temp[i][i]; }
    }

  12. kodunuzdaki değişkenlerde problem var büyük ihtimalle. örneğin sutun ve satir değişkenleri, matrisin boyutlarını tutan değişkenlerse, kodunuzdaki 2*sutun ibaresi hatalı olur. Sebebi matrisin dışında bir sutuna erişmeye çalışıyor olmanızdır.

    başarılar

  13. emre kalander says:

    meraba ben ödevimde 4×4 matrisin tersini bulmak ama turbo pascalda yardımcı olursanız sevinirimm

  14. Arwen says:

    Yaaa bu çok açıklayıcı ve güzel olmuş ama bana fonksiyonlu ve Cofactor, determinant hesaplamalı lazım
    Uğarştı ama bi türlü işin içinden çıkamadım acaba yardımcı olabilir misiniz?

  15. Özge Erdoğdu says:

    Merhaba ödevim dolayısıyla ben bu programı c’de çalıştırmaya kalktım ancak açılmadı. c’de çalışması için ne yapmam lazım? Yardımcı olursanız çok sevinirim..

  16. burak says:

    merhaba benım porje odevım war konuları dev cpp ta matrıs tersı bulma ve dağılım fonksıyonunda ustel dagılım bu dersı gecmem buna baglı yardımcı olablrmısınız?

  17. Burak Bey, nasıl bir yardıma ihtiyacınız olduğunu anlayamıyorum. Kodu yukarıda yazdık ve yayınladık zaten DEV-CPP ortamında çalışıyor bundan daha fazla ne yapılabilir ki?

  18. burak says:

    kusura bakmayın tekrardan rahatsız edıyorum daha once soledıgım gıbı matrıs tersı odevımdı.hocamız matrıs tersını ana menulu sekılde ıstıyor.

    #include
    #include
    #include
    #include

    void dagilimtablolarimenusu();
    void normaldagilimtablosumenusu();

    main()
    {
    dagilimtablolarimenusu();
    }

    void dagilimtablolarimenusu()
    {
    char c;
    system(“cls”);

    konum(5,20); printf(“==============================”);
    konum(6,20); printf(“= DAGILIM TABLOLARI MENUSU =”);
    konum(7,20); printf(“==============================”);
    konum(8,20); printf(“1) Poisson Dagilim”);
    konum(9,20); printf(“2) Normal Dagilim”);
    konum(10,20); printf(“3) F Dagilimi”);
    konum(11,20); printf(“4) T Dagilimi”);
    konum(12,20); printf(“5) Binom Dagilimi”);
    konum(13,20); printf(“6) Ustel Dagilim”);
    konum(14,20); printf(“7) Cikis”);
    konum(15,20); printf(“==============================”);

    c= ‘ ‘;
    while (c!=’7′)
    {
    konum(16,20); printf(“seciminiz:”);
    c= getch();
    switch(c)
    {
    case ’1′ : printf(” bu ogrencinin konusu dahilinde degil”); break;
    case ’2′ : printf(” bu ogrencinin konusu dahilinde degil”); break;
    case ’3′ : printf(” bu ogrencinin konusu dahilinde degil”); break;
    case ’4′ : normaldagilimtablosumenusu(); exit(0);
    case ’5′ : printf(” bu ogrencinin konusu dahilinde degil”); break;
    case ’6′ : printf(” bu ogrencinin konusu dahilinde degil”); break;
    }}
    }

    void normaldagilimtablosumenusu()
    {
    char c;
    system(“cls”);

    konum(5,20); printf(“=================================”);
    konum(6,20); printf(“= NORMAL DAGILIM TABLOSU MENUSU =”);
    konum(7,20); printf(“=================================”);
    konum(8,20); printf(“1) P(Xx)”);
    konum(10,20); printf(“3) P(a<x<b)");
    konum(11,20); printf("4) Ana Menu");
    konum(12,20); printf("================================");
    c=' ';
    while(c!='4')
    {
    konum(13,20); printf("seciminiz:");
    c= getch();
    switch(c)
    {
    case '1' : printf("1) P(Xx)”);
    case ’3′ : printf(“1) P(a<x<b)");
    case '4' : dagilimtablolarimenusu(); exit(0);
    }}
    }
    daha ayrıntılı anlatmam gerekırse ana menuyu olusturucam. kodları yazıcam programı calıstırdıgımda sıyah ekran gelıcek ve ord ana menu gozukecek. matrıs tersı matrıs deermınantı oz deger ve ozvektor ddıye 4 secenek cıkacak.seçim yazıcak. ben oradan matrıs tersı dısında sectıgım hersecenekte yenı sıyah sayfada bu benım konum değil yazıcak. ve oda sayfada klavye uzerınden herhangı bır tusa bastıgımda ana menuye gerı donecek.
    #include
    #include
    #include
    #include

    void anamenu();
    void betimselmenu();
    void sayiuretmenu();

    main()
    { int i, j,k;
    char c;
    char a[20][10],b[10];
    anamenu();
    }

    void anamenu()
    { int i, j,k;
    char c;
    system(“cls”);

    konum(5,20); printf(“=============================”);
    konum(6,20); printf(“= matris cebiri =”);
    konum(7,20); printf(“=============================”);
    konum(8,20); printf(“1) matris tersi alma “);
    konum(9,20); printf(“2) determinat alma “);
    konum(10,20); printf(“3) özdeger bulma “);
    konum(11,20); printf(“4) özvektör bulma “);
    konum(12,20); printf(“5) Cikis”);
    konum(13,20); printf(“=============================”);
    c=’ ‘;
    while (c!=’5′)
    { konum(14,20); printf(“seciminiz:”);
    c = getch();
    switch(c)
    {
    case ’1′ : ; exit(0);
    case ’2′ : printf(“2) benim konum degil lutfen ana menuye donunuz “); break;
    case ’3′ : printf(“3) benim konum degil lutfen ana menuye donunuz “); break;
    case ’4′ : printf(“4) benim konum degil lutfen ana menuye donunuz “); break;
    }}
    }
    bu ne kadar doğru bılmıyorum. belkı sıze tam olarakta anlatamadım. bu odevı pazrtesı gunu teslım etmem lazm. fınal sınavı yapılmıcak tum kaderım bu odeve bağlı lutfen yardımcı olablrmısınz

  19. Burak Bey;

    Yolladığınız ilk kodun, konu ile ilgisi yok. İkinci kodda bulunan case ’1′ için yukarıdaki yazıda yayınlanan kodları yazmanız yeterli. İstediğiniz problemin çözümünü yapan kod zaten yayınlanmış durumda tek yapmanız gereken, yazıda yayınlanan bu kodu menu altına yerleştirmek.

    başarılar

  20. seher says:

    Merhabalar benim proje konumda dağılımlar.Yukarıdaki kodu yazdım fakat konum(5,20);printf(“===========================”);satırında hata veriyor yardımcı olursanız sevinirim.

  21. GOKHAN says:

    MERHABA 3 GUN SONRA TESLİM ETMEM GEREKEN ÖDEV ŞÖYLE:
    >>BOYUTU 10*10 ‘A KADAR DISARDAN GİRİLEN BİR KARE MATRİSİN TERSİNİ BULDURAN VE EKRANA YAZDIRAN CPP PROGRAMI YAZINIZ<<
    HOCAMIZ HANGİ YÖNTEMLE BULUNMASI GEREKTİĞİNİ BİZE BIRAKTI COK UGRAŞTIM ANCAK TAM OLARAK YAPAMADIM YARDIMCI OLABİLİRSENİZ COK SEVİNİRİM..TEŞEKKURLER

  22. merve says:

    merhaba.ödevim şu şekilde: dağılım tabloları anamenüsü oluşturuyorum ->
    Poisson Dagilim
    Normal Dagililim
    F Dagilimi
    T Dagilimi
    Binom Dagilimi
    Ustel Dagilim
    benim konum t dağılımı onu seçiyorum.t dağılım menüsü oluşturuyorum.
    “= t DAGILIM TABLOSU MENUSU =”);
    P(Xx)
    P(a<x<b)
    P(X<x) benim ilgilendiğim onu seçiyorum ve parametreye sayı girip tabloyu olusturuyorum ama ücgensel formda olucakmış tablo.sadece tablo olusturma konusunda sıkıntı yaşıyorum hiçbi türlü yapamıyorum.yardım ederseniz sevinirim.

  23. gelen sorular üzerine normal dağılım ve poisson dağılımını anlatan ve istediğiniz kodlamaları içeren yazıları siteye ekledim, diğer dağılımları benzer şekilde kodlayabeceğinizi düşünüyorum, umarım yardımcı olur.

    başarılar

    http://www.bilgisayarkavramlari.com/2011/06/08/poisson-dagilimi-poisson-distribution/
    http://www.bilgisayarkavramlari.com/2011/06/08/normal-dagilim-normal-distribution-gauss-distribution/

  24. adem says:

    merhaba bem bırsey sormak ıstıyorum.determınatı sıfır olan bır matrısın tersını alamıyoruz ama bunu sanal olarak tersını alabılıyoruz ya.onun nasıl olduguna daır bır fıkrım yok.4gun sonra sınavım var.yardımcı olabılır mısınız.sımdıden verecegınız cevap ıcın tesekur ederım.

  25. sorunuz bir matrisin (masfuf) tersi olup olmaması ile ilgili. Bakın kare olmayan matrislerin, örneğin nxm boyutundaki bir matrisin (n≠m şartı ile) tersi yoktur. Sadece bazı özel durumlarda sol tersi (left inverse) veya sağ tersi (right inverse) olabilir, ancak bu bizim anladıımız ters değildir.
    Geriye sadece kare matrisler kalıyor. Bir kare matrisin tersinin olabilmesi için tekil masfuf (singular matrix) olması gerekir (bazı kaynaklarda dejenere (degenerate) (yeniden üretilmiş) tabiri de geçmektedir). Bir kare matrisin tekil olması ise ancak determinantının sıfır olMAması ile mümkündür. Yani determinantı sıfır olan matrislerin tersi yoktur.
    Peki biz determinantı sıfır olan bir matrisin tersini almaya çalışırsak ve yukarıda geçen yöntemleri denersek ne olur??
    Kofaktör yöntemi ile (cofactor) ters almaya çalışırsak 1/det(A) terimi ile karşılaşırız. Bildiğiniz üzere şayet det(A) = 0 durumu varsa, 1/0 belirsizdir.
    Şayet gauss jordan yöntemi ile ters almaya çalışırsanız ve yine det(A) = 0 durumu varsa, bu durumda satır sadeleştirmesi yapılamaz (diğer bir deyişle satırlar arası bağlantı yetersizdir), sonsuza kadar satır sadeleşmeye uğraşırsınız ama bir sonuca varamazsınız.

    Benim nacizane bilgim bu yönde, ama siz “sanal olarak tersini almak”‘tan bahsetmişsiniz, benim böyle bir bilgim yok, şayet daha fazla bilgi verir veya hangi kaynakta geçtiğini belirtirseniz çalışıp burada paylaşmaya gayret ederim.

    başarılar

  26. srcn says:

    Hocam 6×6 lık matrisin terisini alıyorum verdigiz algortmaya göre yalnız sonuçta soyle birsey cıkıyor
    -1.#ınd00 -1.#ınd00 -1.#ınd00 -1.#ınd00 -1.#ınd00 ….
    yardımcı olrsnız cok sevnrm

  27. tersi alınamayan bir matrisin tersini almaya çalışıyor olabilir misiniz?

  28. srcn says:

    yok hocam hangi degeri girersem giriym bu degerleri veryr hep aynı sonuç çıkıyor,yukardakı 4×4 luk matrisn aynısın aldm 4 leri 6 yaptm

  29. Anlamadım, 4×4′lük matrisin aynısını alıp 4′leri 6 yaparsanız zaten çalışmaz ki, 6×6 matrisin tersini alan kodu 4×4 matris üzerine uyguluyorsunuz demektir. Bir matrisin tersi olup olmadığını kontrol edin ya da en iyisi siz tersini almak istediğiniz matrisi buraya yazın ben bir deneyeyim belki bir yerde hata vardır.

    Başarılar

  30. srcn says:

    yk hocam matrisi 6×6 lık yaptım,bide hocam ilk indisi ben 1 den baslatmak ıstyrm kendisi normalde sıfırdan basltyr ya onun için s[7][7] yaptm tanmlarken..

  31. matrisinizi yazarsanız ben de deneyip durumu incleyebilirim. Çalışmayan ve hata veren matrisinizi yazabilir misiniz?

  32. nur says:

    Hocam merhaba benım odevım 2*2 ve 3*3 tipindeki matrislerinin çarpma işlemine göre tersinin bulunması bana biraz acıklayabılırmısınız ödevim cok onemli

  33. yeşim says:

    benim ödevimi pazartesi gününe kadar hocaya vermem lazım ödevim şu şekilde 2×2 ve3x3 matrisinin tersi. araştırdım da net bir bilgi bulamadım yardımcı olursanız çok sevinirim şimdiden teşekkürler…

  34. Yukarıdaki yazıda sorunuzun cevabı açık ve net bir şekilde zaten anlatılmış. Yazıda cofactor yöntemi ve gauss jordan yöntemi kullanılarak iki farklı şekilde nasıl alınacağı gösterilmiş ve kodu verilmiş, anlayamadığınız nokta neresi sorarsanız belki yardımcı olabiliriz.

    Başarılar

  35. İlker says:

    Hocam benim bildiğim kadarıyla 3×3 matrisin tersi yanlış. Sen eminsen sorun yok ama.

  36. Lütfen hatalı olduğunu düşündüğünüz kısmını açıklayınız, tekrar kontrol edip hata varsa düzelteyim.

    Teşekkürler

  37. Anonymous says:

    turbo pascalda bir kare matrisin aynadan yansımasını weren program kodunu lütfen biri paylasabilir mi?

Leave a Reply


üç - 3 =

Benzer Yazılar:

Bilgisayar Kavramları üzerinde şu anda okumakta olduğunuz 'Matrisin tersinin alınması (Mantrix Inverse)' isimli yazı 19 Nov 2008 tarihinde, saat: 06:50 'de Şadi Evren ŞEKER tarafından gönderilmiş, toplam18,087 defa okunmuştur.

Benzer yazıları Bilgisayar Matematiği, C/C++, Kod Örnekleri kategorilerinden okuyabilirsiniz. Yazar ile irtibat kurmak için email gönderebilirsiniz. Yazıya yorum yapabilir ya da yapılan yorumları RSS 2.0 ile takibe alabilirsiniz.


Category: Bilgisayar Matematiği, C/C++, Kod Örnekleri