Sono sul mio viaggio di transizione da MATLAB a scipy (+ numpy) + matplotlib. Continuo ad avere problemi nell'implementare alcune cose. Voglio creare una semplice matrice vettoriale in tre parti differenti. In MATLAB vorrei fare qualcosa di simile:array numpy che crea con una sequenza
vector=[0.2,1:60,60.8];
Questo si traduce in una matrice monodimensionale di 62 posizioni. Sto cercando di implementarlo usando scipy. Il più vicino mi trovo ora è questo:
a=[[0.2],linspace(1,60,60),[60.8]]
Tuttavia, questo crea un elenco, non un array, e quindi non posso rimodellare a un array di vettore. Ma poi, quando faccio questo, ottengo un errore
a=array([[0.2],linspace(1,60,60),[60.8]])
ValueError: setting an array element with a sequence.
Credo che la mia principale ostacolo è che io non riesco a capire come tradurre questa semplice operazione in MATLAB:
a=[1:2:20];
a numpy . So come farlo per accedere alle posizioni in un array, anche se non quando si crea una sequenza. Qualsiasi aiuto sarà apprezzato, grazie!
grazie doug! questo è estremamente bello, ed è a due caratteri di distanza per essere compatto come il MATLAB. grande! – lllllll
@ vint-i-vuit nessun problema. Se la mia risposta ti è stata utile, contrassegnala come "accettata" facendo clic sul "segno di spunta", visibile quando passi il mouse sopra il punteggio nell'angolo in alto a sinistra della mia risposta. (O se un'altra risposta è stata più utile, ovviamente vorrai contrassegnarla invece). Sì, ci sono altri due caratteri, ma penso che ne valga la pena, quindi NumPy può avere una funzione per ciascuno dei due assi da concatenare insieme (r_ & c_). – doug
non lo sapevo, sì!Ho imparato molto da tutti i post, funzionano tutti come volevo, ma forse il tuo è il più vicino a MATLAB. grazie a tutti! – lllllll