[Scilab]Trasformare matrice in vettore
Salve ho un problema con un esercizio da realizzare in scilab. Dopo aver generato una matrice H mi si richiede di realizzare un vettore che contenga tutti gli elementi della matrice. Ora quello che ho scritto è:
Tuttavia il ciclo for non funziona correttamente e quello che ottengo è semplicemente un vettore di dimensione 5 che contiene gli elementi dell'ultima riga della matrice H. Ad esempio:
Ottengo il risultato giusto se scrivo:
Ma sono convinto che esista un modo più efficente, utilizzando il ciclo for.
Qualcuno può aiutarmi?
H=round((10*rand(5,5))+2) for i=1:5 V=[H(i,:)] end disp(H) disp(V)
Tuttavia il ciclo for non funziona correttamente e quello che ottengo è semplicemente un vettore di dimensione 5 che contiene gli elementi dell'ultima riga della matrice H. Ad esempio:
H= 9. 6. 4. 6. 8. 8. 9. 10. 10. 12. 9. 8. 5. 8. 12. 5. 8. 6. 10. 6. 6. 2. 11. 9. 5. V= 6. 2. 11. 9. 5.
Ottengo il risultato giusto se scrivo:
H=round((10*rand(5,5))+2) for i=1:5 V=[H(1,:) H(2,:) H(3,:) H(4,:) H(5,:)] end disp(H) disp(V)
Ma sono convinto che esista un modo più efficente, utilizzando il ciclo for.
Qualcuno può aiutarmi?
Risposte
Se scilab funziona come matlab dovrebbe essere sufficiente scrivere H(:) . In caso contrario puoi ovviamente anche usare qualcosa come reshape oppure concatenare tutte le righe o colonne della matrice..
Ha funzionato! Grazie mille mi hai salvato!