How can I generate values randomly from another existing vecor?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Mira le
am 27 Apr. 2021
Kommentiert: Steven Lord
am 27 Apr. 2021
Hi everyone My problem is I want to generate a vector of values from other vector with zeros For example My vector is v1=[122,34,20,5,21] The new vector that I want to get is like that: V2=[122,0,20,0,0,5]
0 Kommentare
Akzeptierte Antwort
J. Alex Lee
am 27 Apr. 2021
how about
v1 = [122,34,20,5,21]
v1a = [0,v1]
N = numel(v1a)
ridx = randi(N,size(v1))
v2 = v1a(ridx)
3 Kommentare
Steven Lord
am 27 Apr. 2021
Looking at the error message you posted in your other message I suspect your v1 vector is actually a column vector, not a row vector.
v1 = [1, 2, 3]
v1a = [0, v1]
v2 = [1; 2; 3]
v2a = [0; v2]
v2bWILLNOTWORK = [0, v2]
In v2bWILLNOTWORK, 0 has 1 row and v2 has 3 rows. You can't put them side-by-side in a vector but you can stack them on top of one another as shown with v2a. Compare with v1a, where both 0 and v1 had 1 row and so could be stored side-by-side.
If I'd written v1a with [0; v1] that wouldn't have worked since 0 and v1 don't have the same number of columns.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Get Started with MATLAB 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!