Vettore matlab

pallina4e
Buongiorno ho un problema con un pezzo di codice matlab che non riesco a scrivere o meglio ad ottenere quello che voglio
ho un vettore 1750 x 1 da voglio prendere le prima 5 righe del vettore ogni 25 righe per tutta la lunghezza del mio vettore grazie

Risposte
apatriarca
Un'idea potrebbe essere quella di usare reshape per fare in modo che le righe che vuoi selezionare sono righe o colonne della matrice. In questo modo puoi selezionare gli elementi che desideri. A quel punto devi solo convertirlo nuovamente in un vettore.

_Fra116
Dovrebbe essere abbastanza semplice usando un loop for incrementando il counter di 25 in 25 e prendendo solo le 5 righe successive al counter. Per esempio :


apatriarca
Ho finalmente la possibilità di testare il codice e quindi essere più preciso con il codice. Considera il seguente codice:
v = (1:1750)';
M = reshape(v, 25, []);
out = reshape(M(1:5, :), [], 1);

\(v\) è un vettore di dimensione \(1750 \times 1\). Usando la funzione reshape si ottiene la matrice \(M\) di dimensione \(25 \times 70\) (in cui la seconda dimensione è calcolata automaticamente). L'ultima riga a questo punto estrae gli elementi che ti interessano e lo convertono nuovamente ad un vettore di dimensione appropriata.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.