How to assign the values to a matrix?

조회 수: 18 (최근 30일)
Benson Gou
Benson Gou 2021년 5월 26일
편집: Stephen23 2021년 5월 26일
Dear All,
I have a zero matrix A whcih needs to be assigned values from an column vector B. The indecies of those elements are stored in a two-columns array C.
For example, B = [1 9 12 31], C = [1 4;3 6;5 2;6 3]. Then matrix A is =[0 0 0 1 0 0; 0 0 0 0 0 0; 0 0 0 0 0 9;0 0 0 0 0 0; 0 12 0 0 0 0;0 0 31 0 0 0].
Thanks a lot.
Benson

채택된 답변

Stephen23
Stephen23 2021년 5월 26일
편집: Stephen23 2021년 5월 26일
B = [1,9,12,31];
C = [1,4;3,6;5,2;6,3]
C = 4×2
1 4 3 6 5 2 6 3
A = zeros(6,6);
% assign those values:
X = sub2ind(size(A),C(:,1),C(:,2));
A(X) = B
A = 6×6
0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 12 0 0 0 0 0 0 31 0 0 0
For comparison:
[0 0 0 1 0 0; 0 0 0 0 0 0; 0 0 0 0 0 9;0 0 0 0 0 0; 0 12 0 0 0 0;0 0 31 0 0 0]
ans = 6×6
0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 12 0 0 0 0 0 0 31 0 0 0

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Audio and Video Data에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by