Ich habe eine Matrix A
:Finden Werte nach und stellen ihre Vorkommen in Matrix
U = unique(A) = [0; 11; 21; 22; 23; 34; 45]
Ohne den Wert 0
, ich möchte ein:
A = [23 34 45 0 0 0 ;
21 34 0 0 23 11 ;
34 23 0 0 0 22 ;
23 11 21 0 0 45 ;
11 45 23 0 0 0 ]
ich die eindeutigen Werte in der Matrix gefunden haben Matrix 6x6 (6 ist die Anzahl der gefundenen Werte ohne Null), in der ich die Anzahl der Male darstellen möchte, die ein Wert von einem anderen Wert in jeder Zeile folgt.
Beispiel:
Vorkommen, dass nach 11
gibt 11
ist 0
.
Häufigkeit, dass nach 11
, gibt es 21
ist 1
.
Häufigkeit, dass nach 11
, gibt es 22
ist 0
.
Häufigkeit, dass nach 11
23
0
ist.
Häufigkeit, dass nach 11
34
0
ist.
Häufigkeit, dass nach 11
, gibt es 45
ist 1
.
So ist die erste Zeile der Matrix ich will, ist: B = [0 1 0 0 0 1]
Vorkommen, die nach 21
gibt es 11
ist 0
.
Vorkommen, dass nach 21
, gibt es 21
ist 0
.
Häufigkeit, dass nach 21
, 22
0
ist.
Vorkommen, dass nach 21
23
0
ist.
Häufigkeit, dass nach 21
, 34
1
ist.
Häufigkeit, dass nach 21
, gibt es 45
ist 1
.
So ist die zweite Zeile der Matrix ist
B = [0 1 0 0 0 1; 0 0 0 0 1 1; ...]
ich den gleichen Vorgang wiederholen möchten, für alle Werte in U
.
Können Sie mir helfen?
könnte es viel einfacher sein, wenn Sie 1: 6 für 11 21 etc. ersetzen – GameOfThrows
Ich habe keine Ahnung, wie es geht ...Ich habe gedacht, um alle möglichen Kombination von Werten in der Matrix A zu finden, aber es ist keine kluge Idee – elis56
na, Sie wollen eine 'circshift (A, [0, -1])' verwenden, die Ihnen die Matrix mit all den gibt Elemente, möchten Sie die letzte Zeile von A und diese Matrix löschen. Kombiniere das mit A, dann solltest du mit 5 * 5 oder 25 Zahlensätzen enden, die, wie ich schon sagte, in Koordinaten umgerechnet werden könnten (wenn du sie durch 1: 6 ersetzt) – GameOfThrows