problemas con la funcion main?????? como reuelvo
Publicado por mike (11 intervenciones) el 06/07/2019 21:34:00
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
def crearMatriz(m,n):
'''
crea una matriz de dos dimensiones de m cantidad de filas
y n cantidades de columnas.
'''
matriz = []
for i in range(m):
matriz.append([])
for x in range(n + 1):
matriz[i].append(0)
return matriz
def entrarMatriz(matriz):
'''
recibe los valores corespondiente a cada elemento de la matriz.
'''
m = len(matriz)
n = len(matriz[0])
for i in range(m):
for j in range(n):
matriz[i][j] = float(input('cantidad de M[' + str(i) + '][' + str(j) + ']? '))
return
def mostrarMatriz(matriz):
'''
Muestra una matriz.
'''
m = len(matriz)
for i in range(m):
print matriz[i]
return
def matrizSuperior(matriz):
for i in range(len(matriz)):
for j in range(i):
result = []
if(i != 0 and matriz[i[j] != 0]):
x = matriz[j][j]
y = -matriz[i][j]
for z in range(0, len(matriz[j])):
matriz[j][z] = matriz[j][z] * y
matriz[i][z] = matriz[i][z] * x
result.append(matriz[j][z] + matriz[i][z])
matriz[i] = result
return matriz
def sustitucionAtras(matriz):
'''
Esta funcion se encarga de hacer la sustitucion hacia atras de
nuestro prograna, cra un vector nuevo que va a tener los valores
de las incognitas respectivamente, la funcion va sustituyendo los
valores que obtiene, el primero se consigue despues que la matriz
este en el estilo triangular superior, luego se van sustituyendo los valores
y haciendo las respectivas operaciones.
'''
sol = [0 for i in range(len(matriz))]
for i in range(len(matriz)-1, -1, -1):
sol[i] = matriz[i][len(matriz)]/matriz[i][i]
for k in range(i-1, -1, -1):
matriz[k][len(matriz)] -= matriz[k][i] * sol[i]
return sol
def main():
'''
En esta funcion main, se hace el llamado a todas las funciones necesarias
para formar la matriz, captar los valores y llamar las funciones que se
encargan de las operaciones necesarias para la solucion del sistema.
'''
isSimetric = False
while isSimetric == False:
m = input("M?")
n = input("N?")
if(m != n):
print("La matriz tiene que ser simetrica")
isSimetric = False
else:
isSimetric = True
Matriz = crearMatriz(m,n)
entrarMatriz(Matriz)
mostrarMatriz(Matriz)
print " "
Matriz = matrizSuperior(Matriz)
mostrarMatriz(Matriz)
sol = sustitucionAtras(Matriz)
for i in range(len(sol)):
print("r" + str(i) + ": " + str(sol[i])
main()
Valora esta pregunta


0