MATLAB Answers

How to Copy Upper diagonal elements of matrix A into a new matrix.

조회 수: 2(최근 30일)
Usman Mussadiq
Usman Mussadiq 2021년 9월 14일
댓글: Usman Mussadiq 2021년 9월 14일
A= 1 2 3 4; 2 1 3 4; 1 1 1 2; 1 0 0 1 Then how to copy the upper diagonal elements into a new Matrix using for loops etc.

채택된 답변

Jan
Jan 2021년 9월 14일
A = [1 2 3 4; 2 1 3 4; 1 1 1 2; 1 0 0 1];
B = triu(A)
B = 4×4
1 2 3 4 0 1 3 4 0 0 1 2 0 0 0 1

추가 답변(2개)

Awais Saeed
Awais Saeed 2021년 9월 14일
편집: Awais Saeed 2021년 9월 14일
A= [1 2 3 4; 2 1 3 4; 1 1 1 2; 1 0 0 1]
A = 4×4
1 2 3 4 2 1 3 4 1 1 1 2 1 0 0 1
M = zeros(size(A));
for row = 1:1:size(A,1)
for col = row:1:size(A,2)
M(row,col) = A(row,col);
end
end
disp(M)
1 2 3 4 0 1 3 4 0 0 1 2 0 0 0 1
  댓글 수: 4

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


KSSV
KSSV 2021년 9월 14일
You need to proceed like this:
for i = 1:m
for j = 1:n
if i <= j
end
end
end
  댓글 수: 6
Jan
Jan 2021년 9월 14일
I do not know what "copy into temp" means.
Maybe you want to get a vector with only the elements of the upper triangular matrix?
mask = (1:4) > (1:4).'; % Or >= ?
temp = A(mask)

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

태그

Community Treasure Hunt

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

Start Hunting!

Translated by