Ich versuche in der zweiten Dimension eine Matrix QI in Matlab zu summieren. Der Trick ist, die Spalten enthalten eine Reihe von steigenden Zahlen, aber nicht alle Spalten haben die gleiche Anzahl von Elementen (d. H. Numel (QI (:, 1)) ~ = numel (QI (:, 2)) und so weiter). Der Übersichtlichkeit halber füge ich ein Bild davon bei. Beachten Sie, dass ich die fehlenden Bereiche mit 0 aufgefüllt habe, sodass die vorherige Bedingung nnz (QI (:, 1)) ~ = nnz (QI (:, 2)) wird.Wie summiere ich eine Matrix mit nicht ausgerichteten Elementen?
Eine erste Strategie, die ich dachte, war dies als ein Bild zu behandeln und eine Maske für jede unterschiedliche Gradientenniveau zu konstruieren, aber das scheint wie eine mühsame Arbeit.
Jeder hat eine bessere Idee, wie dies zu tun? Ich sollte auch erwähnen, dass ich frei modifizieren kann, wie QI generiert wird, aber ich würde lieber nicht, wenn es eine Lösung für dieses Problem gibt.
EDIT:
Hoffentlich wird das neue farbige Bild sollte ein besseres Verständnis geben.
FYI, jede Spalte wurde zuvor in einem Zellenfeld ohne die abschließenden Nullen gespeichert. Dann extrahierte ich die Spalten einzeln und speicherte sie in einer Matrix, um die Summierung durchzuführen, und füllte die zusätzlichen Nullen auf, wenn die Länge nicht dieselbe war.
Im Allgemeinen sollten diese Spaltendaten die gleiche Anzahl von Zeilen haben, aber manchmal ist das nicht der Fall, und noch schlimmer, sie sind nicht korrekt.
Ich fange an zu denken, wenn es besser ist, den Code zu überarbeiten, der die Zellenarrays anstatt diese Matrix erzeugt. Gedanken?
Danke,
Also, was ist das Problem? Summe der Zeilen (oder wollten Sie in der ersten Dimension summieren?) Und die Nullelemente tragen nicht zur Summe bei. – beaker
Ich hätte das gemacht, außer dass es das Problem nicht löst. Ich werde es versuchen und neu formulieren. – KaiserHaz
Ja, Sie müssen die Art der Datenkonvertierung ändern. Abhängig von der Struktur des Zellenarrays müssen Sie möglicherweise nicht einmal die vollständige Matrix erstellen, aber es gibt keine Möglichkeit, ohne weitere Informationen zu wissen. – beaker