Verfasst am: 15.04.2015, 10:44
Titel: in jeder Cell eines Cell-Arrays löschen
Hallo zusammen,
ich habe ein 1x77 Cell Array. In der letzten Cell (77) steht die Uhrzeit als double. Ich habe noch ein weiteres Cell Array(1x14). Hier ist in der vierten Cell ebenfalls eine Zeit als double.
Das erste Array möchte ich jetzt anhand des zweiten eingrenzen. Sprich, ich nehme den ersten Wert des zweiten Arrays und nehme nur die Werte des ersten Arrays größer als dieser Wert. Genauso verfahre ich mit dem letzten Wert.
Damit schreibt er mir nur 77 mal die Variable Messdaten_neu in mein Array. Ich hätte aber gerne, dass er das nicht da reinschreibt, sondern quasi damit multipliziert und dann die Zeilen mit 0 löscht. Geht das irgendwie?
ich hab das jetzt erstmal über eine Schleife gemacht. damit bleibt mir quasi nur der gesuchte Bereich. Alles andere wird mit 0 gefüllt.
Code:
for i=1:1:77 for j=1:1:size(Messdaten_2{1,1},1) if(Messdaten_2{1,77}(j,1) > Messdaten_1{1,4}(1,1) & Messdaten_2{1,77}(j,1) < Messdaten_1{1,4}(end,1))
Messdaten_neu{1,i}(j,1)=Messdaten_2{1,i}(j,1);
else
Messdaten_neu{1,i}(j,1)=0;
end end end
2 Probleme habe ich damit. Wie kann ich jetzt alle Zeilen löschen mit 0? Und kann man das ganze einfacher machen? Also ohne Schleife? Irgendwie mit cellfun?
Auf der anderen Seite ist es ein Umweg aus den Zahlen zunächst Strings zu machen, die von DATENUM dann wieder in eine Zahl verwandelt werden. Wie wäre dies:
Ich kann es gerade nicht testen, aber es umgeht die zweifache Umwandlung zwischen Zahlen und Strings und statt in DATENUM wird die Berechnung direkt durchgeführt.
Error using *
MTIMESis not fully supported for integer classes. At least one input must be scalar.
To compute elementwise TIMES, use TIMES(.*) instead.
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.