Could anyone help me how to extract different specific number of rows in a matrix.

조회 수: 4 (최근 30일)
I am a matrix of size A= rand(100,1)
I want to generate matrix by extracting 2 rows in interval of 5.
B=A([1:2,6:7,11:12,16:17,........,96:97],:).
Could anyone help me to write in the simplified form to execute in matlab.

답변 (2개)

Walter Roberson
Walter Roberson 2021년 6월 25일
row_idx = reshape((1:5:100) + [0;1],1,[])
row_idx = 1×40
1 2 6 7 11 12 16 17 21 22 26 27 31 32 36 37 41 42 46 47 51 52 56 57 61 62 66 67 71 72
  댓글 수: 3
Walter Roberson
Walter Roberson 2021년 6월 25일
?? row_idx is already a separate matrix. You take it and
B = A(row_idx,:);
Walter Roberson
Walter Roberson 2021년 6월 25일
For 2, 3, 4 of each group of 5,
row_idx = reshape((1:5:100) + [1;2;3],1,[])

댓글을 달려면 로그인하십시오.


Scott MacKenzie
Scott MacKenzie 2021년 6월 25일
B = A(sort([1:5:100 2:5:100]))
  댓글 수: 2
jaah navi
jaah navi 2021년 6월 25일
If suppose instead of two rows I need to have value of 2,3,4 in each intervals of 5. In that case the above command doesnt executes. could you help me on this.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by