10. DOĞRUSAL DENKLEM TAKIMLARININ ÇÖZÜMÜ (Matris Uygulamaları) Matris İşlemleri: Toplama 2 x 2 boyutlarında iki matrisin toplamı için gerekli bilgisayar programının oluşturulması; C = A + B
Örnek : Option Base 1 Dim a(2, 2), b(2, 2), c(2, 2) As Integer Private Sub Form_Load() a(1, 1) = 1: a(1, 2) = 2 a(2, 1) = 3: a(2, 2) = 4 b(1, 1) = 5: b(1, 2) = 6 b(2, 1) = 7: b(2, 2) = 8 Command1.Caption = "Matrisleri Topla" End Sub Private Sub Command1_Click() For i = 1 To 2 For j = 1 To 2 c(i, j) = a(i, j) + b(i, j) Print c(i, j), Next j Print Next i
C = A * B Matris İşlemleri: Çarpma 2 x 2 boyutlarında iki matrisin çarpımı için gerekli bilgisayar programının oluşturulması; C = A * B
Örnek : Private Sub Command2_Click() For i = 1 To 2 For j = 1 To 2 c(i, j) = 0 For k = 1 To 2 c(i, j) = c(i, j) + a(i, k) * b(k, j) Next k Print c(i, j), Next j Print Next i End Sub
Matris İşlemleri: Transpoze alma 2 x 2 boyutlarında matrisin transpozesinin alınması için gerekli bilgisayar programının oluşturulması;
Örnek : AT=? Private Sub Command3_Click() Dim ct(2, 2) As Integer For i = 1 To 2 For j = 1 To 2 ct(i, j) = a(j, i) Print ct(i, j), Next j Print Next i End Sub Not: b matrisin transpozesinin alınması için programda a yerine b değişkenini yazınız.
Matris İşlemleri: Tersini alma 2 x 2 boyutlarında matrisin tersinin alınması için gerekli bilgisayar programının oluşturulması;
Örnek : A-1=? Private Sub Command4_Click() Dim ainv(2, 2), deta As Single deta = a(1, 1) * a(2, 2) - a(1, 2) * a(2, 1) Print "det(a) = "; deta ainv(1, 1) = a(2, 2) / deta ainv(1, 2) = -a(1, 2) / deta ainv(2, 1) = -a(2, 1) / deta ainv(2, 2) = a(1, 1) / deta For i = 1 To 2 For j = 1 To 2 Print Str(ainv(i, j)), Next j Print Next i End Sub
x y Lineer Denklem Takımlarının Çözümü 2 bilinmeyenli bir lineer denklem takımının çözümü için gerekli bilgisayar programının oluşturulması; x y
c1(i, 1) = c1(i, 1) + ainv(i, j) * b1(j, 1) Print Str(c1(i, 1)), Örnek : Matrisin tersini hesaplayan programın devamına bu programı ekleyin. x=? y=? .... For i = 1 To 2 For j = 1 To 2 Print Str(ainv(i, j)), Next j Print Next i Dim b1(2, 1), c1(2, 1) b1(1, 1) = 1: b1(2, 1) = 2 c1(i, 1) = c1(i, 1) + ainv(i, j) * b1(j, 1) Print Str(c1(i, 1)), x= 0 y=0.5