Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Meta

#1281
Scripting / [Python] - Primos y matrices.
18 Noviembre 2010, 09:50 AM
#1282
Scripting / [Python] - Traspuesta
18 Noviembre 2010, 07:14 AM
Hola:

Ver ejercicio.


No se si vale la pena hacer este ejercicio. ¿Qué utilidad tiene en este caso?

Parace que tiene desplazamiento en los datos de la matriz y encima se incrtementó una matriz más grande. ¿Tiene mucho código para hacer esto?



Edito:

Ya entiendo algo.
Una traspuesta de una matriz la que tiene por filas las columnas,y por columnas las filas (de la matriz original)... El "cambio de tamaño" se debe a que la matriz NO es cuadrada, y las dimensiones se intercambian...

¿Cómo hago ese cambio tan a la ligera en la matriz?
#1283
Scripting / Re: Ejemplo Python suma_matrices
18 Noviembre 2010, 06:48 AM
Gracias por la pacienca.

No sabía que puedes meter instrucciones dentro de una matriz como hiciste por aquí.

Código (python) [Seleccionar]

M = [[0 for i in range(n)]for e in range(n)]


:)
#1284
Scripting / Re: Ejemplo Python suma_matrices
17 Noviembre 2010, 16:23 PM
Por lo que te entiendo.

Código (python) [Seleccionar]
# Pedimos la dimensión de las matrices,
p = int(raw_input('Dime el número de filas de A: '))
q = int(raw_input('Dime el número de columnas de A (y filas de B): '))
r = int(raw_input('Dime el número de columnas de B: '))

# Creamos dos matrices nulas...
A = []
for i in range(p):
    A.append( [0] * q)

B = []
for i in range(q):
    B.append ( [0] * r)

# ...y leemos sus contenidos de teclado.
print 'Lectura de la matriz A'
for i in range(p):
    for j in range(q):
        A[i][j] = float(raw_input('Dame el componente (%d, %d): ' % (i, j)))

print 'Lectura de la matriz B'
for i in range(q):
    for j in range(r):
        B[i][j] = float(raw_input('Dame el componente (%d, %d): ' % (i, j)))

# Creamos una matriz nula más para el resultado...

C =[]
for i in range(p):
    C.append( [0] * r)

# Y efectuamos el cálculo del producto.
for i in range(p):
    for j in range(r):
        for k in range(q):
            C[i][j] += A[i][k] * B[k][j]

# Y mostramos el resultado por pantalla.
print 'Multiplicación:'
#for i in range(q):
#    for j in range(p):
#        print C[i][j],
#    print

print B * r


Código (python) [Seleccionar]
print A
r = 2
print B * r


No, no me sale, entiendo la explicación que me pussite aquí de esta manera pero no logro cuajarlo al mio. Me siento muy torpe, programación no es lo mio.

Código (python) [Seleccionar]
M = [[1,2,3],[4,5,1]]
n = 5
M x n = [[5,10,15],[20,25,5]]


#1285
Scripting / Re: Ejemplo Python suma_matrices
17 Noviembre 2010, 05:31 AM
¿No será con p y q?

Código (python) [Seleccionar]
p = [[1,2,3],[4,5,1]]
q = 5
p * q = [[5,10,15],[20,25,5]]


Aún así no lo entiendo. Voy a leer otra vez bien, bien.

Falta el código nada más de la multiplicación.

Código (python) [Seleccionar]
# Pedimos la dimensión de las matrices,
p = int(raw_input('Dime el número de filas de A: '))
q = int(raw_input('Dime el número de columnas de A (y filas de B): '))
r = int(raw_input('Dime el número de columnas de B: '))

# Creamos dos matrices nulas...
A = []
for i in range(p):
    A.append( [0] * q)

B = []
for i in range(q):
    B.append ( [0] * r)

# ...y leemos sus contenidos de teclado.
print 'Lectura de la matriz A'
for i in range(p):
    for j in range(q):
        A[i][j] = float(raw_input('Dame el componente (%d, %d): ' % (i, j)))

print 'Lectura de la matriz B'
for i in range(q):
    for j in range(r):
        B[i][j] = float(raw_input('Dame el componente (%d, %d): ' % (i, j)))

# Creamos una matriz nula más para el resultado...

C =[]
for i in range(p):
    C.append( [0] * r)

# Y efectuamos el cálculo del producto.
for i in range(p):
    for j in range(r):
        for k in range(q):
            C[i][j] += A[i][k] * B[k][j]

# Y mostramos el resultado por pantalla.
print 'Multiplicación:'


CitarMultiplicar matrices es un poco más difícil que sumarlas (y, por descontado, el operador *
no calcula el producto de matrices). Una matriz A de dimensión p×q se puede multiplicar por
otra matriz B si  ésta es de dimensión q × r, es decir, si el número de columnas de la primera es
igual al número de filas de la segunda. Hemos de pedir, pues, el número de filas y columnas de
la primera matriz y sólo el número de columnas de la segunda.

Supuestamente he creado 2 filas y 2 columnas de esta manera.

Citar[[0, 0], [0, 0]]
[[0, 0], [0, 0]]

Lo se porque puse de prueba esto para ver que me muestra.

Código (python) [Seleccionar]
print A
print B


Al final se me termina rellenándoce las litas A y B de esta manera pero no hace la multiplicación.

Citar[[2.0, 3.0], [4.0, 5.0]]
[[2.0, 3.0], [4.0, 5.0]]

Si hago lo que puse antes de estas manera.
Código (python) [Seleccionar]
# Y mostramos el resultado por pantalla.
print 'Multiplicación:'
for i in range(q):
    for j in range(p):
        print C[i][j],
    print


Me muestra este resultado.
CitarMultiplicación:
16.0 21.0
28.0 37.0

Quiero saber si ese resultado es lo que tiene que dar justo el ejercicio 251) de la página 198.

Muchas gracias.




Edito:


Lo coloco así para que se entienda.

A:
[[2.0, 3.0],
[4.0, 5.0]]

B:
[[2.0, 3.0],
[4.0, 5.0]]

Ni yo me entiendo.
#1286
Scripting / Re: [Python] - Matrices.
16 Noviembre 2010, 17:29 PM
Que interés, que fuerza, que motivación, que ilusión, que grandeza, qué ánimos, qué energía...
veo mucha profesionalidad aquí dentro.

¿Se puede hacer sencillo de entender?

#1287
Scripting / Re: Ejemplo Python suma_matrices
16 Noviembre 2010, 17:24 PM
Haciendo la multiplicación del ejercicio 251) he copiado y modificado parte del código del PDF y he puesto esto.

Código (python,40, 41,42,43) [Seleccionar]
# Pedimos la dimensión de las matrices,
p = int(raw_input('Dime el número de filas de A: '))
q = int(raw_input('Dime el número de columnas de A (y filas de B): '))
r = int(raw_input('Dime el número de columnas de B: '))

# Creamos dos matrices nulas...
A = []
for i in range(p):
    A.append( [0] * q)

B = []
for i in range(q):
    B.append ( [0] * r)

# ...y leemos sus contenidos de teclado.
print 'Lectura de la matriz A'
for i in range(p):
    for j in range(q):
        A[i][j] = float(raw_input('Dame el componente (%d, %d): ' % (i, j)))

print 'Lectura de la matriz B'
for i in range(q):
    for j in range(r):
        B[i][j] = float(raw_input('Dame el componente (%d, %d): ' % (i, j)))

# Creamos una matriz nula más para el resultado...

C =[]
for i in range(p):
    C.append( [0] * r)

# Y efectuamos el cálculo del producto.
for i in range(p):
    for j in range(r):
        for k in range(q):
            C[i][j] += A[i][k] * B[k][j]

# Y mostramos el resultado por pantalla.
print 'Multiplicación:'
for i in range(q):
    for j in range(p):
        print C[i][j],
    print


En la multipicación me vuelto loco. Quiero saber si realmente lo hice bien como indica el resultado abajo.

CitarDime el número de filas de A: 2
Dime el número de columnas de A (y filas de B): 2
Dime el número de columnas de B: 2
Lectura de la matriz A
Dame el componente (0, 0): 2
Dame el componente (0, 1): 3
Dame el componente (1, 0): 4
Dame el componente (1, 1): 5
Lectura de la matriz B
Dame el componente (0, 0): 2
Dame el componente (0, 1): 3
Dame el componente (1, 0): 4
Dame el componente (1, 1): 5
Multiplicación:
16.0 21.0
28.0 37.0




Edito:

Le he estado dando vueltas a la cabeza y no consigo saber de donde saca estos resultados.
Multiplicación:
16.0 21.0
28.0 37.0

Quizás no lo entiendo como se hace, antes que nada, quiero saber si son los resultados correctos.
#1288
Scripting / Re: Ejemplo Python suma_matrices
16 Noviembre 2010, 14:55 PM
JEjeje.

Si no me lo dices no me entero, no lo iba a poner todo junto.

Código (python) [Seleccionar]
# encoding: utf-8
# Pedimos la dimensión de las matrices,
m = int(raw_input('Dime el número de filas: '))
n = int(raw_input('Dime el número de columnas: '))

# Creamos dos matrices nulas...
A = []
for i in range(m):
   A.append( [0] * n)

B = []
for i in range(m):
   B.append ( [0] * n)

# ...y leemos sus contenidos de teclado.
print 'Lectura de la matriz A'
for i in range(m):
   for j in range(n):
       A[i][j] = float(raw_input('Dame el componente (%d, %d): ' % (i, j)))

print 'Lectura de la matriz B'
for i in range(m):
   for j in range(n):
       B[i][j] = float(raw_input('Dame el componente (%d, %d): ' % (i, j)))

#------------------

C =[]
for i in range(m):
   C.append( [0] * n)

# Empieza el cálculo de la suma.
for i in range(m):
   for j in range(n):
       C[i][j] = A[i][j] + B[i][j]

# Y mostramos el resultado por pantalla.
print 'Suma:'
for i in range(m):
   for j in range(n):
       print C[i][j],
   print


Por fin ya entiendo esta parte, ya decía yo que lago no me cuadraba.

Y si, si había leído la siguiente página, no me quedé que continuaba el código.

Gracias por las aclaraciones. Esto de aprender programación Python autodidacta me cuesta lo suyo.

CitarDime el número de filas: 2
Dime el número de columnas: 2
Lectura de la matriz A
Dame el componente (0, 0): 4
Dame el componente (0, 1): 5
Dame el componente (1, 0): 6
Dame el componente (1, 1): 7
Lectura de la matriz B
Dame el componente (0, 0): 4
Dame el componente (0, 1): 5
Dame el componente (1, 0): 6
Dame el componente (1, 1): 7
Suma:
8.0 10.0
12.0 14.0

Ahora estoy haciendo el ejercicio 250) de la página 198. A ver si es tan fácil como la suma.

Por lo que veo es cambiar el + por el -.
Código (python) [Seleccionar]

C[i][j] = A[i][j] - B[i][j]
#1289
Scripting / Ejemplo Python suma_matrices
16 Noviembre 2010, 06:33 AM
Buenas:

Estoy haciendo un ejemplo llamado suma_matrices_4.py de la página 197 que PDF que puedes ver en mi firma abajo.

Código (python) [Seleccionar]
# encoding: utf-8
# Pedimos la dimensión de las matrices,
m = int(raw_input('Dime el número de filas: '))
n = int(raw_input('Dime el número de columnas: '))

# Creamos dos matrices nulas...
A = []
for i in range(m):
    A.append( [0] * n)

B = []
for i in range(m):
    B.append ( [0] * n)

# ...y leemos sus contenidos de teclado.
print 'Lectura de la matriz A'
for i in range(m):
    for j in range(n):
        A[i][j] = float(raw_input('Dame el componente (%d, %d): ' % (i, j)))

print 'Lectura de la matriz B'
for i in range(m):
    for j in range(n):
        B[i][j] = float(raw_input('Dame el componente (%d, %d): ' % (i, j)))


Ahora mismo estoy con Ubuntu 10.10 y Python 2.6.6.

Su resultado es este.
CitarDime el número de filas: 2
Dime el número de columnas: 2
Lectura de la matriz A
Dame el componente (0, 0): 1
Dame el componente (0, 1): 2
Dame el componente (1, 0): 3
Dame el componente (1, 1): 4
Lectura de la matriz B
Dame el componente (0, 0): 5
Dame el componente (0, 1): 6
Dame el componente (1, 0): 7
Dame el componente (1, 1): 8

¿Qué es lo que ocurre exactamente? ¿Qué es la matriz que suma?