WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Löschen von Spalten in Cell Array

 

BastiM
Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 15.07.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.08.2013, 15:25     Titel: Löschen von Spalten in Cell Array
  Antworten mit Zitat      
Hallo zusammen....

es geht vorwärts, langsam aber sicher!

Eine Frage hat sich jetzt wieder aufgetan....
Ich habe ein Cell- Array habe (leider kann ich den hier nicht hochladen)

281x38; in diesem Array stehen wahlweise Zahlen( in Manchen spalten aber auch [], quasi nichts)...
Ich würde das Array gerne so filtern, dass mir alle Spalten, die leere Arrays enthalten, gelöscht werden....

Da gibts bestimmt einen einfachen befehl, cellfun hab ich schon ausprobiert, führte nicht zu gewünschtem Ergebnis.
Kann mir da viel. jemand weiterhelfen?

Grüße,
Basti
Private Nachricht senden Benutzer-Profile anzeigen


BlackDread
Forum-Century

Forum-Century


Beiträge: 212
Anmeldedatum: 11.05.11
Wohnort: ---
Version: 2015a
     Beitrag Verfasst am: 02.08.2013, 16:02     Titel:
  Antworten mit Zitat      
Hallo Basti,

stehen denn in dem Cell-Array noch chars drin? oder warum benutzt du ein Cell?

Ich habe zwar etwas unschönen, aber funktionierenden Code erzeugt (kann sicher jemand verschönen ^^)

Code:
array = {1  1 [] ; 1 2 [] ;3 4 []};
empty_fields = cellfun(@isempty,array)
array(:,empty_fields(1,:))=[];
 


ich habe das so gelöst, da folgender Code zwar die leeren Zellen löscht, aber einen Vektor zurück gibt. Achso, der Code ist natürlich nur sinnvoll, wenn immer die komplette Spalte leer ist...

Code:
array(cellfun(@isempty,array)=[];


Grüße Chris
Private Nachricht senden Benutzer-Profile anzeigen
 
BastiM
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 15.07.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.08.2013, 13:53     Titel:
  Antworten mit Zitat      
Servus, danke für deine Antwort!!!
werde das gleich mal ausprobieren...hab nochmal drüber geschlafen was ich denn eigentlich überhaupt als Ziel haben will, vielleicht wäre es auch sinnvoll, die leeren Cells mit einer Null zu ersetzen.

Grundsätzlich verwende ich eine Cell, weil die Cell ursprünglich mal Chars beinhaltet hat....

Ich brauche die Cell allerdings schon in double format, würde das gerne mit cell2mat korrigieren, aber dazu muss die Cell eben nur aus double- Werten bestehen und jede row muss gleich lang sein (was bei mir aktuell wegen der leeren Zellen noch nicht der Fall ist; drum müsste ich am besten die leeren Zellen mit Nullen ersetzen...)

Falls es hierzu nochmal Vorschläge gibt, gerne schreiben, bringt mir sicher weiter!!!
Private Nachricht senden Benutzer-Profile anzeigen
 
BastiM
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 15.07.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.08.2013, 14:01     Titel:
  Antworten mit Zitat      
Code:


emptyIndex = cellfun(@isempty,y_werte);       %# Find indices of empty cells
y_werte(emptyIndex) = {0};                    %# Fill empty cells with 0
mylogicalarray = cell2mat(y_werte);           %# Convert the cell array


 


so hab ichs gemacht....

vielleicht findet aber jemand ne schönere Lösung!

LG Basti
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

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.