Ich versuche, herauszufinden, wie man eine neue Matrix erstellen mit allen Diagonalen Spalt wise.For Beispiel angeordnet sagen, dass ich Diagonalenordnet alle Diagonalvektoren in einer bestimmten Matrix
0 1 2 7 0 0 0 0
0 0 3 6 7 0 0 0
0 0 0 3 1 7 0 0
0 0 0 0 4 4 7 0
0 0 0 0 0 5 8 7
0 0 0 0 0 0 1 8
0 0 0 0 0 0 0 4
0 0 0 0 0 0 0 0
Extrahierung aus der folgenden Matrix habe wir bekommen,
1 3 3 4 5 1 4
2 6 1 4 8 8
7 7 7 7 7
Nun, ich für eine effiziente Lösung in R am searching diese Diagonalvektoren, so dass die resultierende Matrix
ist1 2 7
3 6 7
3 1 7
4 4 7
5 8 7
1 8 0
4 0 0
0 0 0
zu arrangieren
Auch, um die umgekehrte Form, dh kleinste Diagonalen erste wie dies
0 0 0
0 0 1
0 2 3
7 6 3
7 1 4
7 4 5
7 8 1
7 8 4
zu erreichen I for-Schleife versucht hat, verwendet wird, aber diese Lösung ist nicht recheneffizient, da die Matrix groß sein kann (10^3) Ich denke, die effiziente Lösung wird lächerlich einfach sein, aber ich kann es nicht herausfinden.
Wie haben Sie "extrac t off "die Diagonalen? – yeedle
durch Auswahl aller Nicht-Null-Diagonalen mit dieser Antwort http://stackoverflow.com/a/27935808/5273845 – Mkty
Wie bestimmen Sie, welche nicht Null ist? – yeedle