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 umstrukturieren

 

JaSoIstEs
Forum-Guru

Forum-Guru


Beiträge: 266
Anmeldedatum: 01.10.12
Wohnort: Hessen
Version: 2019b
     Beitrag Verfasst am: 06.02.2019, 10:57     Titel: Daten umstrukturieren
  Antworten mit Zitat      
Servus Leute,

ich habe eine Mat-Datei mit drei verschiedenen Größen.
Die die länge von ca. 500 haben.

Die erste Spalte ist meine x-Achse die zweite meine y-Achse und die dritte meine-Achse.

Jetzt muss ich das quasi wie in dem Bild umstruktuieren/umformatieren ich denke Lookup-Tables sind so aufgebaut.

Im Bild wird die erste Spalte abgebildet. Die zweite Spalte wäre dann nach rechts bin konstant.

Ich hoffe ich konnte mich verständlich ausdrücken


Danke euch im Voraus.

2019-02-06_10-53-58.png
 Beschreibung:

Download
 Dateiname:  2019-02-06_10-53-58.png
 Dateigröße:  60.89 KB
 Heruntergeladen:  191 mal
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.432
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 06.02.2019, 11:51     Titel:
  Antworten mit Zitat      
Hallo,

es kann sein, dass stack / unstack helfen. Mich verwundert etwas die Dreiecks-Form in dem Bild.
Wenn du ein konkretes vorher-nachher - Beispiel posten kannst, wäre das für ein besseres Verständnis hilfreich.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
JaSoIstEs
Themenstarter

Forum-Guru

Forum-Guru


Beiträge: 266
Anmeldedatum: 01.10.12
Wohnort: Hessen
Version: 2019b
     Beitrag Verfasst am: 06.02.2019, 13:14     Titel:
  Antworten mit Zitat      
Hallo Harald,

danke für die schnelle Antwort.

Im Anhang habe ich mal einen Screenshot gemacht der. Leider bekomme ich nicht die gesamten Daten drauf aber ich denke das erfüllt seinen Zweck.

2019-02-06_13-12-04.png
 Beschreibung:

Download
 Dateiname:  2019-02-06_13-12-04.png
 Dateigröße:  16.36 KB
 Heruntergeladen:  202 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.432
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 06.02.2019, 13:47     Titel:
  Antworten mit Zitat      
Hallo,

leider nicht.
Zum einen hast du von drei Spalten gesprochen, hier ist aber nur eine.
Zum anderen ist mir dadurch noch nicht klar, wie die Dreiecksstruktur zustandekommt.

Ideal wäre, wenn du eine (kleine) .mat-Datei mit Ausgangspunkt und gewünschtem Ergebnis hochlädst, damit man wirklich damit herumprobieren kann. Daten abtippen wäre etwas mühsam, zumal ich wie gesagt nicht genug Daten sehe.

Ansonsten kann ich nur raten, dass du es selbst mit stack / unstack versuchst, da das nach meinem bisherigen Verständnis (das aber komplett falsch sein kann) in die richtige Richtung gehen sollte.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
JaSoIstEs
Themenstarter

Forum-Guru

Forum-Guru


Beiträge: 266
Anmeldedatum: 01.10.12
Wohnort: Hessen
Version: 2019b
     Beitrag Verfasst am: 06.02.2019, 14:01     Titel:
  Antworten mit Zitat      
Vielleicht habe ich mich ein wenig falsch ausgedrückt.

Das erste Bild zeigt das gewünschte Ergebnis des zweiten Bilds.
Das wurde in Excel händisch gemacht und ich würde das gerne in Matlab automatisieren.

Diese eine Spalte wird zu diesem "dreieck".

ich probiere es gleich mal mit stack unstack und berichte dann.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.432
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 06.02.2019, 17:19     Titel:
  Antworten mit Zitat      
Hallo,

jetzt verstehe ich das. Da hilft stack / unstack aber nicht.

Ich gehe mal davon aus, dass die Daten sortiert sind. Dann kannst du mit diff feststellen, wo die Sprünge sind und damit auch, welcher Wert wie oft vorkommt.

Dann eine Matrix z.B. mit NaN erstellen und diese spaltenweise befüllen mit den Werten, so oft sie eben vorkommen.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
JaSoIstEs
Themenstarter

Forum-Guru

Forum-Guru


Beiträge: 266
Anmeldedatum: 01.10.12
Wohnort: Hessen
Version: 2019b
     Beitrag Verfasst am: 07.02.2019, 18:49     Titel:
  Antworten mit Zitat      
Hallo Harald,

habe wie von die gewünscht eine Beispiel mat erstellt.
Wie genau meinst du das? Also mit diff?
Ich benutze diff bekomme dann den Index heraus wo sich was verändert und wie soll ich den Rest dann aufbauen? Das Problem ist ja das das hier nur ein Beispiel ist und es keine festes Norm gibt wie oft welche Zahl dran kommt.

Beispiel.mat
 Beschreibung:

Download
 Dateiname:  Beispiel.mat
 Dateigröße:  575 Bytes
 Heruntergeladen:  239 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.432
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 08.02.2019, 09:06     Titel:
  Antworten mit Zitat      
Hallo,

was mich verwundert: wieso hat deine Matrix 22 Zeilen, obwohl z.B. 250 ja 25 Mal vorkommt?

Ich hätte es so versucht:
Code:
newU = find(diff([0; Original]));
u = Original(newU);
numU = diff([newU; numel(Original)+1]);

M = zeros(max(numU), numel(u));
for k = 1:numel(u)
    M(1:numU(k),k) = u(k);
end


Die ersten 22 Zeilen von M stimmen mit Gewuenscht überein. Warum es nun 22 Zeilen sein sollen, ist mir wie gesagt nicht klar.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
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.