How to add lower triangle of zeros/indent to each row, in a matrix?

1 visualización (últimos 30 días)
I have this matrix:
1 2 3 4 5 6 7 8 5 5
3 3 3 3 3 4 4 4 5 5
1 4 3 4 3 4 4 4 5 5
3 3 3 3 4 4 4 5 5 5
And I want this as the result:
1 2 3 4 5 6 7 8 5 5 0 0 0
0 3 3 3 3 3 4 4 4 5 5 0 0
0 0 1 4 3 4 3 4 4 4 5 5 0
0 0 0 3 3 3 3 4 4 4 5 5 5
How can I do this as a script?
Please help
Thank you
  1 comentario
Catalytic
Catalytic el 25 de Abr. de 2021
It appears that you have not Accept-clicked any of the answers you have been given to your other questions.
Were they all unhelpful?

Iniciar sesión para comentar.

Respuesta aceptada

Matt J
Matt J el 25 de Abr. de 2021
Editada: Matt J el 25 de Abr. de 2021
B=[1 2 3 4 5 6 7 8 5 5
3 3 3 3 3 4 4 4 5 5
1 4 3 4 3 4 4 4 5 5
3 3 3 3 4 4 4 5 5 5];
[m,n]=size(B);
result=spdiags(B,0:n-1,m,n+m-1);
full(result)
ans = 4×13
1 2 3 4 5 6 7 8 5 5 0 0 0 0 3 3 3 3 3 4 4 4 5 5 0 0 0 0 1 4 3 4 3 4 4 4 5 5 0 0 0 0 3 3 3 3 4 4 4 5 5 5
  3 comentarios
Matt J
Matt J el 25 de Abr. de 2021
You're quite welcome, but please Accept-click the answer to indicate that it resolved the problem.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Logical 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!

Translated by