[MatLab] Da vettore a matrice
Salve ragazzi, il mio problema è questo: supponiamo di avere un vettore ( riga o colonna non fa differenza ) con $n*h$ elementi ( con $n$ e $h$ maggiori di uno, ma non necessariamente uguali ) e di voler, da questo, creare una matrice $n*h$ con gli stessi elementi del vettore senza ricorrere a cicli for ( perchè con i cicli ci sono riuscito ), come si può fare? Mi spiego meglio con il seguente esempio:
$ b=[1,2,3,4,5,6,7,8,9,10] $
ed avere la matrice B:
$ B=( ( 1 , 6 ),( 2 , 7 ),( 3 , 8 ),( 4 , 9 ),( 5 , 10 ) ) $
Spero che qualcuno riesca ad aiutarmi, grazie
$ b=[1,2,3,4,5,6,7,8,9,10] $
ed avere la matrice B:
$ B=( ( 1 , 6 ),( 2 , 7 ),( 3 , 8 ),( 4 , 9 ),( 5 , 10 ) ) $
Spero che qualcuno riesca ad aiutarmi, grazie
Risposte
Fatto con octave, ora non ho MatLab a portata di mano, ma penso che la sintassi sia uguale!
octave-3.2.4:1> b = [1,2,3,4,5,6,7,8,9,10] b = 1 2 3 4 5 6 7 8 9 10 octave-3.2.4:2> x = b(1,1:5) x = 1 2 3 4 5 octave-3.2.4:3> y = b(1,6:10) y = 6 7 8 9 10 octave-3.2.4:4> B = [y;x] B = 6 7 8 9 10 1 2 3 4 5 octave-3.2.4:5> B = rot90(B) B = 10 5 9 4 8 3 7 2 6 1 octave-3.2.4:6> B = rot90(B) B = 5 4 3 2 1 10 9 8 7 6 octave-3.2.4:7> B = rot90(B) B = 1 6 2 7 3 8 4 9 5 10 octave-3.2.4:8>
Grazie
