diagonal matrix with ones
Mostrar comentarios más antiguos
Hello I am trying to do a diagonal inferior matrix with a diagonal of ones but my diagonal have differentes valors. How do i do a matrix with diagonal of ones? Here is my code:
if true
% code
a=[6,9,7;6,2,0;1,8,3]
a=tril(a)
end
1 comentario
Daniel Shub
el 8 de Mzo. de 2013
What would be really helpful is if in addition to your example input you could tell us what you want the output to be.
Respuestas (7)
Sean de Wolski
el 8 de Mzo. de 2013
Editada: Sean de Wolski
el 8 de Mzo. de 2013
eye(5)
?
more per clarification:
a = tril(magic(3));
a(logical(eye(size(a,1)))) = 1
Cristian
el 8 de Mzo. de 2013
0 votos
1 comentario
Sean de Wolski
el 8 de Mzo. de 2013
see more in my answer above.
Leah
el 8 de Mzo. de 2013
a(eye(3))=1;
like that?
3 comentarios
Sean de Wolski
el 8 de Mzo. de 2013
You need the logical() around eye() or it will error.
Leah
el 8 de Mzo. de 2013
thanks Sean, I'm waiting on my license at my new job :)
Sean de Wolski
el 8 de Mzo. de 2013
I'm sure your friendly sales rep would be happy to set you up with a trial :) !
Cristian
el 8 de Mzo. de 2013
0 votos
2 comentarios
Sean de Wolski
el 8 de Mzo. de 2013
See my more section. Where'd the 1/3 and the 8/3 come from?
n=size(a,1);
a(1:n+1:end)=1;
Miroslav Balda
el 9 de Mzo. de 2013
Your last comment explained how to construct the resulting matrix. You see, how important it is to precisely formulate your question.
Anew = diag(1./diag(A))'*tril(A)
Miroslav Balda
el 9 de Mzo. de 2013
There is even simpler solutionof your problem:
Anew = diag(diag(A))\tril(A)
Categorías
Más información sobre Creating and Concatenating Matrices en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!