how to select a random number from the existing matrix in each column
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Dear friends, I need to select a random number from each column from the existing matrix to create a new row as shown below: I'm new to matlab. So please help me with this. Thank you.
A=[1 2 3 4;5 6 7 8;9 10 11 12]
Anew=[5 2 7 12]
0 Kommentare
Antworten (2)
Roger Stafford
am 7 Feb. 2018
Bearbeitet: Roger Stafford
am 7 Feb. 2018
[m,n] = size(A);
Anew = A(randi(m,[1,n])+m*(0:n-1));
0 Kommentare
per isakson
am 7 Feb. 2018
Bearbeitet: per isakson
am 7 Feb. 2018
It's smarter to use a for-loop
>> A
A =
1 2 3 4
5 6 7 8
9 10 11 12
>> [nrow,ncol] = size(A);
>> ix = randi([1,nrow],[1,ncol])
ix =
3 1 3 1
>> A(sub2ind(size(A),ix,1:ncol))
ans =
9 2 11 4
Siehe auch
Kategorien
Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!