How to Copy Upper diagonal elements of matrix A into a new matrix.
    8 views (last 30 days)
  
       Show older comments
    
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.
0 Comments
Accepted Answer
More Answers (2)
  Awais Saeed
      
 on 14 Sep 2021
        
      Edited: Awais Saeed
      
 on 14 Sep 2021
  
      A= [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)
4 Comments
  Awais Saeed
      
 on 14 Sep 2021
				I answered exactly as per your question "how to copy the upper diagonal elements into a new Matrix using for loops".
Why do you care how your developer is doing things. If you think he is making a mistake or he needs help in doing what you asked in your question then just simply show him the proposed answer. If he does not like doing it in a For Loop then use triu(A) as @Jan have mentioned.
  KSSV
      
      
 on 14 Sep 2021
        You need to proceed like this: 
for i = 1:m
    for j = 1:n
        if i <= j
        end
    end
end
6 Comments
  Jan
      
      
 on 14 Sep 2021
				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)
See Also
Categories
				Find more on Loops and Conditional Statements in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


