read multiple points from matrix
조회 수: 14 (최근 30일)
이전 댓글 표시
I want to read multiple points out of a matrix. Therefore I have the matrix A, and my indices X and Y for the coordinates. I don't need any other values, only those.
A = rand(50,50);
X = [1 2 5];
Y = [1 2 5];
P = A(X,Y)
the code reads all the values, so I only need the diagonal of the matrix. I could use diag but that takes a lot of time, and I need to be time-efficient. Is there a possible way to do that different, to be faster?
댓글 수: 0
채택된 답변
Star Strider
2021년 5월 31일
A = rand(50,50);
X = [1 2 5]; % Assuming These Are The Row Indices
Y = [1 2 5]; % Assuming These Are The Column Indices
I = sub2ind(size(A), X, Y)
P = A(I)
Check = [A(X(1),Y(1)), A(X(2),Y(2)), A(X(3),Y(3))]
If you want a different result, please describe it in some detail.
.
댓글 수: 0
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Matrices and Arrays에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!