Verfasst am: 05.12.2012, 16:36
Titel: Werte aus Matrixmitte wählen
Hallo zusammen,
ich habe ein kleines Problemchen, stehe aber in Moment irgendwie auf dem Schlauch. Ich möchte mir immer die Werte oder den Wert aus der Matrixmitte rauspicken und in centerVal speichern. Wenn ich eine Matrix mit ungeradzahligen Zeilen und Spalten habe, dann ist die Mitte eindeutig und ich nehme z.B. für eine 5x5 Matrix den Wert an der Stelle (3,3) als centerVal.
Bei geradzahligen Matritzen oder Matritzen mit nur Spalte oder nur Zeile geradzahlig, ist die Mitte ja nicht nur eine einziges Feld sondern zwei oder vier Felder. Hier will ich die Werte dann mitteln und centerVal zuweisen. Für eine 8x8 matrix möchte is z.B. die Inhalte der Felder (4,4) (4,5) (5,4) und (5,5) mitteln und dann centerVal zuweisen.
Ich bekomme es jetzt noch nicht wirklich hin sinnvolle Fallunterscheidungen zu schreiben. Meine fälle wären im Prinzip:
-Zeilen und Spalten gerade
-Zeilen und Spalten ungerade
-Zeilen gerade, Spalten ungerade
-Zeilen ungerade, Spalten gerade
Ich hoffe ich habe es einigermaßen verständlich beschrieben. Hat jmd einen eleganten Vorschlag? Die Entscheidung ob gerade oder ungerade Anzahl an Spalten und Zeilen könnte ich ja z.B. mit (mod(sizeX,2)==1) durchführen.
danke für den Tip. Die idee hatte ich schon bzw habe ich schon für die ungeradzahligen verwendet. Meine Fragestellung sollte eher darauf abzielen wie ich es machen sollte, wenn ich die Fälle unterscheiden muss. Also (m,n)-matrix mit den möglichkeiten m oder n gerade und ungerade.
Wenn man z.B. eine 3x3 matrix hat ist klar, dass das das Feld (2,2) die Mitte ist. Bei einer 4x4 Matrix is die Mitte nicht nicht nur ein Feld. Hier liegen 4 Felder in der Mitte (2,3) (3,3) (3,2) und (3,3). Bei einer 3x4 Matrix gibt es zwei mittlere Felder (2,2) und (2,3).
Ich kann es leider nicht besser erkären aber ich hoffe es wurde ein bisschen klarer
X ist in diesem Fall die Matrix, wirklich schöner ist die Lösung auch nicht.
Einstellungen und Berechtigungen
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.