Is there a way to do the following without running a for loop.
조회 수: 2 (최근 30일)
이전 댓글 표시
clear all
y=randi(5,1,5)';
A=zeros(5,5);
for i=1:5,
A(i,y(i))=1;
end
I want to know if this can be implemented without using a for loop.
댓글 수: 0
채택된 답변
Bruno Luong
2020년 7월 30일
편집: Bruno Luong
2020년 7월 30일
y = randi(5,1,5)'
Then
A = accumarray([(1:5)' y(:)], 1, [5 5]);
or
A = zeros(5,5);
A(sub2ind(size(A),1:5,y'))=1
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!