How to Copy Upper diagonal elements of matrix A into a new matrix.
27 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Usman Mussadiq
el 14 de Sept. de 2021
Comentada: Usman Mussadiq
el 14 de Sept. de 2021
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 comentarios
Respuesta aceptada
Más respuestas (2)
Awais Saeed
el 14 de Sept. de 2021
Editada: Awais Saeed
el 14 de Sept. de 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 comentarios
Awais Saeed
el 14 de Sept. de 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
el 14 de Sept. de 2021
You need to proceed like this:
for i = 1:m
for j = 1:n
if i <= j
end
end
end
6 comentarios
Jan
el 14 de Sept. de 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)
Ver también
Categorías
Más información sobre Loops and Conditional Statements en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!