Effacer les filtres
Effacer les filtres

Delete value in matrix at crescent way and rearrange

1 vue (au cours des 30 derniers jours)
Richard Perosa Fernandes
Richard Perosa Fernandes le 15 Avr 2020
Commenté : Ameer Hamza le 16 Avr 2020
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

Réponse acceptée

Ameer Hamza
Ameer Hamza le 15 Avr 2020
Modifié(e) : Ameer Hamza le 15 Avr 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 commentaires
Richard Perosa Fernandes
Richard Perosa Fernandes le 15 Avr 2020
Thank you very much. Works just fine!
Ameer Hamza
Ameer Hamza le 16 Avr 2020
Glad to be of help.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by