https://es.m.wikipedia.org/wiki/Método_de_las_potencias
Edto ea lo que tengo pero por alguna razon no sigue asiendo interaciones
Código
'Metodo de Potencias para encontrar 'el maximo valor caracteristico 'y su vector asociado 'Ingresando la siguiente matriz '1 2 3 '4 5 6 '1 1 1 'Debe dar como resultado 'lambda 1 = 7.7720018727 'Vector asiciado: '0.3860009363 '1.0000000000 '0.2046663546 'Pedir una matriz(a) 3 x 3 y la multiplica por otra matriz(b) aleatoria 'de 3 x 1 dando como resultado una matriz(c) de 3 x 1 dividir la matriz(c) 'entre el maximo de dicha matriz genrando otra matriz(d) de 3x1.calcular 'el error relativo q seria el numero maximo de la matriz(d) menos el 'numero maximo anterior si estes es menor a 0.0000000001 imprimir el 'ultimo valor maximo y la ultima matriz dividida Dim A(50, 50) ,B(50, 50), c(50,50) Dim n,i,j,k,nn,NuMax wscript.echo "Ingrese Los Elementos De La Matriz A " & vbLf & "" For i = 1 To 3 For j = 1 To 3 wscript.echo "Elemento", i, j A(i, j) = Wscript.StdIn.ReadLine Next Next 'genera matriz aleatoria de ceros y unos for i = 1 to 3 if i = 1 then b(i,1) = 1 else RAndomize() b(i, 1) = Mid("01", Int(Rnd * 2) + 1, 1) end if next do 'multiplica la matriz a*b y 'almacena el resultado en c For i = 1 To 3 For j = 1 To 1 For k = 1 To 3 C(i, j) = C(i, j) + (A(i, k) * B(k, j)) next Next Next 'busca el valor mas grande 'en vector c NuMax = c(1,1) for i = 1 to 3 if c(i,1)>NuMax then NuMax = c(i,1) end if next 'divide cada uno de los componentes 'del vector c entre el maximo de dicho vector for i = 1 to 3 for j = 1 to 3 b(i,j) = c(i,j)/NuMax next next 'error:: numero maximo - el anterior err = NuMax-err if round(err,10) <0.000000001 then ' Si el error es menor a 0.000000001 termina e imprimeresultados exit do end if loop 'para comprobar que lambda y el vector asociado esta bien 'multiplicar la matriz(a) ingesada y multiplicarla por 'la matriz resultante debe dar '0 '0 '0 'MatrizOriginal * VectorAsociado = 0 ok wscript.echo "Lambda1 = " & NuMax & vbLf & "Vector Asociado:" & vbLf & imprimir(b) function Imprimir(c) M = "" For i = 1 To 3 For j = 1 To 1 M = M & C(i, j) & " " Next M = M & vbLf Next imprimir = M & vbLf End function