Sperimentazioni dell'algoritmo

Proviamo il nostro algoritmo generando casualmente una matrice $10
\times 10$ ed un vettore per verificare la soluzione:

» a1=round(10*rand(10))

a1 =

     8     1     2     9     3     4     7     1     6     1
     3     7     7     6     4     6     9     3     2     7
     6    10     4     2     6     3     0    10     5     0
     1     1     1     1     6     2     6     4     2     3
     4     5     7     8     7     2     6     8     7     1
     1     1     9     4    10     2     7     9     5     4
     8     7     1     9     3     1     8     1     6     4
     6     3     4    10     2     1     8     5     0     3
     8     1     4     4     9     5     5     8     3     9
    10     2     5     3     3     7     3     5     4     2

» b1=round(10*rand(10,1))

b1 =

     1
     3
     2
     7
     8
     3
     8
     8
     1
     3

» x=solvelu(a1,b1)

x =

  -2.48449679544613
  -1.57729575627816
  -2.90299977582920
  -1.60498736801344
  -9.46718019044310
   0.07933652351090
   3.35772199201200
   7.37058528117625
   6.07222618703308
   3.48035411345352

» inv(a1)*b1

ans =

  -2.48449679544607
  -1.57729575627817
  -2.90299977582912
  -1.60498736801348
  -9.46718019044303
   0.07933652351086
   3.35772199201199
   7.37058528117619
   6.07222618703305
   3.48035411345350

»

come riprova della bontà dell'algoritmo abbiamo calcolato formalmente il vettore soluzione come $x=A^{-1}b$ ottenendo un risultato pressappoco uguale a quello del nostro metodo.



Morpheus 2004-01-04