Borrar filtros
Borrar filtros

Delete value in matrix at crescent way and rearrange

2 visualizaciones (últimos 30 días)
Hello everyone and thanks for the help.
I'm working with a 1000x1000 matrix, example:
I want to delete the last value of the last row, and the two last values of the penultimate line, and so go on, like this:
After this I want to bring the last value to the end of the matrix:
And delete the column in the left (cause I bring the lat value of the raw to the right I would get: 1 columns delete for the last raw, 2 columns delete for the penultimate raw, so go on) . So if a did this with the last 500 rows. I would get a 500x500 matrix. Someone have a though about how to begging this script?
Short example: 8x8
...
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
Response: 4x4
..
1 2 3 4
2 3 4 5
2 3 4 5
4 5 6 7

Respuesta aceptada

Ameer Hamza
Ameer Hamza el 15 de Abr. de 2020
Editada: Ameer Hamza el 15 de Abr. de 2020
For you short example:
x = [1:8; 1:8; 1:8; 1:8];
n = 4;
new_x = zeros(n);
for i=1:4
new_x(:,i) = diag(x, i-1);
end
Result:
new_x =
1 2 3 4
2 3 4 5
3 4 5 6
4 5 6 7
  2 comentarios
Richard Perosa Fernandes
Richard Perosa Fernandes el 15 de Abr. de 2020
Thank you very much. Works just fine!
Ameer Hamza
Ameer Hamza el 16 de Abr. de 2020
Glad to be of help.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Dimensionality Reduction and Feature Extraction 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