Qbasic matris inversi ile matris çözümü

Tboyh
16-04-2012, 21:54   |  #1  
OP Taze Üye
Teşekkür Sayısı: 0
1 mesaj
Kayıt Tarihi:Kayıt: Nis 2012

Okulda bize bir derste qbasi gösteriyorlar ve öğretmenimiz bize bir ödew werdi. matris inversi yöntemi ile matris çözümü. Bu yolla linner çok bilinmeyenli denklem çözeceğiz. Şöyle olacak |A|*|x|=|B|  burda A nın inversini alıp b ile çarpıp x'i yani bilinmeyenler matrisini bulcaz.
Öğretmen inversini almayı yazdırdı. Şöyle oluyor;
10 CLS
20 REM matris inversi
30 n = 3
40 DIM a(n, n), b(n, n)
50 FOR I = 1 TO n: FOR j = 1 TO n
        60 READ a(I, j)
        70 PRINT a(I, j)
80 NEXT j: PRINT: NEXT I
90 REM "b=inv(a)"
100 FOR I = 1 TO n
    110 b(I, I) = 1
120 NEXT I
130 FOR I = 1 TO n
    140 t = a(I, I)
    150 FOR K = 1 TO n
        160 a(I, K) = a(I, K) / t
        170 b(I, K) = b(I, K) / t
    180 NEXT K
    190 FOR j = 1 TO n
        200 p = a(j, I)
        210 IF j = 1 THEN 260
        220 FOR K = 1 TO n
            230 a(j, K) = a(j, K) - p * a(j, K)
            240 b(j, K) = b(j, K) - p * b(j, K)
        250 NEXT K
260 NEXT j, I
270 PRINT "b matrisi"
280 FOR I = 1 TO n: FOR I = 1 TO n
        290 PRINT USING "####.##"; b(I, j);
300 NEXT I: PRINT: NEXT I
310 DATA 2,3,3,-1,2,3,1,-1,2

Ama ben yazdım Line:29 Subscribt out of range hatası verio. neden anlayamadım.
bunun sonuna çarpımı ekleyip yapacağız sanırım.
Yardım ederseniz çok sewinirim.