Estoy en mi viaje de transición de MATLAB a scipy (+ numpy) + matplotlib. Sigo teniendo problemas al implementar algunas cosas. Quiero crear una matriz vectorial simple en tres partes diferentes. En MATLAB Me gustaría hacer algo como:creación de matriz numpy con una secuencia
vector=[0.2,1:60,60.8];
Esto se traduce en una matriz unidimensional de 62 posiciones. Estoy tratando de implementar esto usando scipy. Lo más cerca que estoy ahora es la siguiente:
a=[[0.2],linspace(1,60,60),[60.8]]
Sin embargo, esto crea una lista, no una matriz, y por lo tanto no puedo darle forma a una matriz de vectores. Pero entonces, cuando hago esto, me sale un error
a=array([[0.2],linspace(1,60,60),[60.8]])
ValueError: setting an array element with a sequence.
Creo que mi principal obstáculo es que no puedo encontrar la manera de traducir esta simple operación en MATLAB:
a=[1:2:20];
a numpy . Sé cómo hacerlo para acceder a las posiciones en una matriz, aunque no al crear una secuencia. ¡Cualquier ayuda será apreciada, gracias!
gracias doug! eso es extremadamente genial, y está a dos caracteres de distancia para ser tan compacto como el matlab. ¡estupendo! – lllllll
@ vint-i-vuit no hay problema. Si mi respuesta fue útil para usted, márquela como "aceptada" haciendo clic en la "marca de verificación", visible cuando pase el mouse sobre el puntaje en la esquina superior izquierda de mi respuesta. (O si otra respuesta fue más útil, obviamente querrás marcar esa en su lugar). Sí, son dos caracteres más, pero creo que vale la pena, así que NumPy puede tener una función para cada uno de los dos ejes para concatenar (r_ & c_). – doug
no lo sabía, ¡sí!Aprendí mucho de todas las publicaciones, todas funcionan como yo quería, pero posiblemente la tuya sea la más cercana a MATLAB. ¡gracias a todos! – lllllll