How can I generate values randomly from another existing vecor?
조회 수: 1 (최근 30일)
이전 댓글 표시
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
채택된 답변
J. Alex Lee
2021년 4월 27일
how about
v1 = [122,34,20,5,21]
v1a = [0,v1]
N = numel(v1a)
ridx = randi(N,size(v1))
v2 = v1a(ridx)
댓글 수: 3
Steven Lord
2021년 4월 27일
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.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Get Started with MATLAB에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!