operación de "Thriller" de alguna python_numpy

El tiempo de contacto no es largo pitón, también vieron la gramática más básico, y casi ninguna otra base lenguaje. Debido a que el laboratorio para hacer el proyecto, y ahora quiere implementar un algoritmo, que implica la transformación S, no encontramos un proyecto de código abierto adecuado se puede llamar directamente. Me gustaría lograr en función de su propia fórmula, de acuerdo con la fórmula de la literatura, escribir directamente si cuádruple necesaria para el bucle, con el fin de reducir la complejidad, quiero tratar de cuantificar. La historia que está sucediendo en este momento.

Puesto que la sub-trama de la señal del habla, que debe ser introducido en el tridimensional matriz de transformación S, en el (N * N * nf) es operado cuando el índice nf marco encontró después de realizar una serie de operaciones, algunas numpy fatal funcionamiento, si no son cuidadosamente para averiguar acerca de la voluntad general sentir la fosa.

mirada,

C = np.array([[[1,2],[3,4],[5,6]],[[7,8,],[9,10],[11,12]],[[13,14],[15,16],[17,18]]])

Los resultados operativos

C
array([[[ 1,  2],
        [ 3,  4],
        [ 5,  6]],

       [[ 7,  8],
        [ 9, 10],
        [11, 12]],

       [[13, 14],
        [15, 16],
        [17, 18]]])

Pensar con un poco de prueba para determinar si la operación no puede tener éxito a sí mismos algoritmo (de hecho, quiere, al tiempo que cada cuadro de la k-ésima columna de asignación), las siguientes son algunas de las pruebas

D = np.zeros((3,2,3))

¿Qué crees que va a ser el resultado?

D
array([[[0., 0., 0.],
        [0., 0., 0.]],

       [[0., 0., 0.],
        [0., 0., 0.]],

       [[0., 0., 0.],
        [0., 0., 0.]]])

Cuando los resultados, que no prestaron atención, a continuación, llevar a cabo la operación después de él (de hecho, las dimensiones de la matriz y luego quiero no es constante)

D[:,1,:] = C[:,0,:]
Traceback (most recent call last):
  File "<pyshell#12>", line 1, in <module>
    D[:,1,:] = C[:,0,:]
ValueError: could not broadcast input array from shape (3,2) into shape (3,3)

? ? ? Ah? ¿Cómo es? A continuación, volver atrás y ver sólo para encontrar la dimensión de la matriz problema! ! !

Numpy índice original tridimensional de la primera matriz tridimensional de fila y el número de cuadros ..., y finalmente la columna

Las siguientes pruebas son las siguientes:

>>> D = np.zeros((2,3,3))
>>> D
array([[[0., 0., 0.],
        [0., 0., 0.],
        [0., 0., 0.]],

       [[0., 0., 0.],
        [0., 0., 0.],
        [0., 0., 0.]]])
>>> np.zeros((3,3,2))
array([[[0., 0.],
        [0., 0.],
        [0., 0.]],

       [[0., 0.],
        [0., 0.],
        [0., 0.]],

       [[0., 0.],
        [0., 0.],
        [0., 0.]]])
>>> D[:,1,:] = C[:,0,:]
Traceback (most recent call last):
  File "<pyshell#16>", line 1, in <module>
    D[:,1,:] = C[:,0,:]
ValueError: could not broadcast input array from shape (3,2) into shape (2,3)
>>> C[:,0,:]
array([[ 1,  2],
       [ 7,  8],
       [13, 14]])
>>> E=np.zeros((3,2))
>>> E
array([[0., 0.],
       [0., 0.],
       [0., 0.]])
>>> C[:,0,:] = E
>>> C
array([[[ 0,  0],
        [ 3,  4],
        [ 5,  6]],

       [[ 0,  0],
        [ 9, 10],
        [11, 12]],

       [[ 0,  0],
        [15, 16],
        [17, 18]]])
>>> C[1,:,:]
array([[ 0,  0],
       [ 9, 10],
       [11, 12]])
>>> C[:,:,0]
array([[ 0,  3,  5],
       [ 0,  9, 11],
       [ 0, 15, 17]])        

Por la matriz E en el C asignación puede verse simultáneamente en una matriz correspondiente a cada trama de la primera (correspondiente al índice 0) Una asignación a granel;

Mientras tanto, el índice de la última operación C[:,:,0]resultado know, esto es en realidad la primera (correspondiente al índice 0) transpuesto vector columna de cada trama y filas longitudinales apiladas (apilados en filas hacia abajo) una matriz nueva obtenida.

Publicado cinco artículos originales · ganado elogios 0 · Vistas 86

Supongo que te gusta

Origin blog.csdn.net/a1227605575/article/details/102589921
Recomendado
Clasificación