[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