Zeilen UND Spalten mit best. Einträgen gleichzeitig lösche
MatlabEI
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 28.11.2013, 15:07
Titel: Zeilen UND Spalten mit best. Einträgen gleichzeitig lösche
Hallo zusammen,
ich möchte gerne Zeilen und Spalten einer Matrix gleichzeitg löschen. Und dies für diejenigen Zeilen und Spalten, die einen bestimmten Wert beinhalten.
Also beispielsweise sei meine Matrix A folgendermaßen aufgebaut:
A = 1 2 3 4
5 6 7 8
9 1 2 3
4 5 6 7
übrig bleiben soll A_reduziert, in dem Spalten und Zeilen, die eine '1' enthalten gelöscht werden:
A_reduziert = 7 8
6 7
Folgendes habe ich probiert:
Code:
A = [1234 ; 5678; 9123; 4567];
for a=1:length(A)
A(A(:, a) == 1, :) = [];
A(:,A(:, a) == 1) = [];
Dabei wird aber dem Ablauf der for-Schleife entsprechend eine Zeile oder eine Spalte gelöscht und dies passiert nicht gleichzeitig, so dass meine reduzierte Matrix A_reduziert nicht quadratisch ist. (In diesem Fall erhalte ich eine 2x4 Matrix).
Kennt jemand eine elegante Lösung für dieses Problem?
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.