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

Daten mit gleichen Teilstrings zusammenfassen

 

santacruz
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 21.03.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.03.2016, 11:28     Titel: Daten mit gleichen Teilstrings zusammenfassen
  Antworten mit Zitat      
hallo miteinander,

ich möchte Messdaten überprüfen und diejenigen Daten mit gleichen Substrings in neuen Zellen speichern. D.h. das Programm soll die Namen der Messdaten überprüfen und diejenigen Daten, mit den gleichen Teilnamen nach dem ersten Unterstrich in neue Zellen abspeichern. Diese neuen Zellen sollen so bezeichnet werden, wie der übereinstimmende Teilstring lautet.
Die Messdaten (Vektoren) sind im Workspace, und ich liste sie in einer neue Zelle (all_curves) auf.
Die Messdaten sind nach diesem Schema benannt: "MR*_***_*_***"
bisherige Überlegung:
Code:

all_curves = who;
number_of_curves = length(all_curves);
for k=1:number_of_curves
pat='[_]';
s1=regexp(all_curves{k},pat,'split');
s11=s1(2:end)
for l=1:number_of_curves
s2=regexp(all_curves{l},pat,'split');
s22=s2(2:end);
if ~isempty(find(strcmp(s11,s22)))

%hier weis ich nicht weiter

end
end
end


Ich würde mich freuen, wenn mir jemand von euch weiterhelfen könnte.
Mit besten Grüßen
edit winkow: bitte code umgebung verwenden
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 21.03.2016, 14:50     Titel: Re: Daten mit gleichen Teilstrings zusammenfassen
  Antworten mit Zitat      
Hallo santacruz,

Puh, das ist eine beeindruckend umständliche, hässliche und fehlerträchtige Methode der Daten-Organisation. Alle erforderlichen Informationen zur Klassifikation der Daten befinden sich im Namen der Variablen. Das ist eine sehr schlechte Idee. Mein Name enthält ja auch nicht meine Telefon-Nummer, Sozialversicherungsnummer, Schuhgröße und PIN.

Mit who bekommst Du auch alle möglichen anderen Variablen.

Zitat:
diejenigen Daten mit gleichen Substrings in neuen Zellen speichern.

Hier gibt es nun 3 Substrings, richtig? Und alle 3 sollen gleich sein, damit sie in ein Cell-Element einsortiert werden? Dann wäre es doch einfacher, den Teil nach dem ersten Underscore als einen String zu interpretieren, anstatt erst 3 verschiedene daraus zu machen, oder?

Zitat:
Diese neuen Zellen sollen so bezeichnet werden, wie der übereinstimmende Teilstring lautet.

Und damit würdest Du das Problem der informationstragenden Namen gerade weiter hegen und pflegen. Dabei ist das ein absolutes DONT! bei der Erstellung wartbarer und effizienter Programme.
Das dynmaische Erstellen neuer Variablen verhindert einerseits das Debuggen, andererseits wird die Ausführung von Matlab dadurch bis zu einem Faktor 100 langsamer, weil die JIT-Acceleration gar nicht mehr wissen kann, welche Variablen wann wo erstellt werden.

Speicher die Messwerte in Structs und die Meta-Informationen in passenden Feldern. Dann wäre auch die Klassifizierung deutlich einfacher, bzw. trivial.
Hier eine gewurstelte Methode vorzuschlagen, die aus einer verwurstelten Datenstruktur eine Wurst zaubert, wäre auf Dauer nicht hilfreich. Auch wenn es jetzt erstmal nach Mehrarbeit aussieht, alles über den Haufen zu werfen, ist das genau die richtige Strategie um effizient zu programmieren.

Siehe zu diesem Thema >100 Threads in diesem Forum mit dem Stichwort "eval" und "assignin".

Gruß, Jan
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 - 2024 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.