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

Datenimport von .txt-Dateien aus Ordnerstruktur

 

Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 01.09.2017, 07:40     Titel:
  Antworten mit Zitat      
Hallo,

ein bisschen Mühe beim Beispiel wäre schon nett, und nicht dass 3 von 4 Zeilen offensichtliche Fehler enthalten.

Code:
tlower=datetime(2014, 9, 1);
tupper=datetime(2016, 9, 1);
plot([tlower, tupper], [1, 2])
xlim([tlower,tupper]);
xticks(tlower:calmonths(3):tupper)
xtickformat('dd.MM.yyyy');


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


Lenhold
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 19.08.17
Wohnort: ---
Version: Release 2016b
     Beitrag Verfasst am: 01.09.2017, 09:47     Titel:
  Antworten mit Zitat      
Verzeihung. Es war schon spät... Da sich nun die Labels überschneiden, würde ich gerne über xticks wie oben jeden 3. Monat haben wollen, aber die Beschriftung jedes halbe Jahr.
Dafür nutzt man bestimmt xticketlabels oder? Würde man dann eine Auswahl treffen, z.B. mit:
Code:
Abstand=[tlower:calmonths(3):tupper];
Auswahl=1:2:numel(Abstand);
xticketlabels({Abstand(Auswahl});
 

?
Leider erhalte ich folgende Fehlermeldung:
Zitat:
Undefined function or variable 'xticketlabels'.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

dann lass mal das "et" weg, und verwende xticklabels .
Bei xticklabels musst du für jeden tick angeben, was dort hingeschrieben werden soll - im Zweifelsfall einen leeren String.

Ich fände es schöner, über xtickangle die Beschriftung etwas zu drehen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Lenhold
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 19.08.17
Wohnort: ---
Version: Release 2016b
     Beitrag Verfasst am: 01.09.2017, 10:23     Titel:
  Antworten mit Zitat      
Super. Werde das dann mit dem Winkel machen. Mir ist gerade aufgefallen, dass In meinen Plots Zeiträume sind, in denen keine Messwerte aufgenommen worden sind. MATLAB interpoliert in diesen Zeiträumen dann. Es geht vermutlich nicht, dass MATLAB selbst größere Zeiträume nicht Interpoliert, ohne dass die anderen Messwerte davon betroffen sind. Ich habe es mal mit
Code:
versucht. Nur dann werden alle Linien dick und haben alle diesselbe Farbe.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

Zitat:
MATLAB interpoliert in diesen Zeiträumen dann. Es geht vermutlich nicht, dass MATLAB selbst größere Zeiträume nicht Interpoliert, ohne dass die anderen Messwerte davon betroffen sind

du kannst die Bereiche entweder getrennt nacheinander plotten oder zwischen die Zeiträume ein NaN einfügen.

Zitat:
Nur dann werden alle Linien dick und haben alle diesselbe Farbe.

Die Größe des Markers kannst du mit 'MarkerSize' einstellen. Wenn du eine andere Farbe als blau willst, brauchst du nur ein anderes Farbkürzel zu verwenden.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Lenhold
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 19.08.17
Wohnort: ---
Version: Release 2016b
     Beitrag Verfasst am: 04.09.2017, 15:20     Titel:
  Antworten mit Zitat      
Ich habe was geschrieben, dass ich das hintereinander platten kann. Da es aber zu viele Abhängigkeiten gibt, wenn ich die Tabellen mit anderen Funktionen filtere, muss ich es lösen, indem die Tabellen vorher bearbeitet werden:
Zunächst müssen die fehlenden Zeiten identifiziert werden, da die Messwerte nicht fortgehend sind, sondern mitunter an anderen Tagen erst wieder gemessen wurden.
Mit
Code:
for i=1:1:size(Data{1},1)-2
if abs(Data{1}{2+i,1}-Data{1}{1+i,1})>1.5
    b(i)=i;
end
end
c=find(b)+1;

durchsuche ich meine Tabelle, wann der Zeitraum 1,5 Stunden zum nächsten Messzeitpunkt übersteigt und identifiziere mit find(b) die Indizies.
Nun müsste ich ja bei den Indizies, die fehlenden Zeiten im Stundentakt einfügen mit einem entsprechenden NaN. Hier scheitere ich derzeit. Wie könnte ich das am besten einfügen?
Mein Gedanke war:
1. Abstände durch subtrahieren zweier Datumsangaben --> Stunden
2. Dann ein Array erstellen, mit Erstdatum+Stunden*x
3. Diese dann einfügen.
4. den nächsten Zeitraum auffüllen usw.

Ich weiß nur nicht wie ich es geschickt anstelle...
Private Nachricht senden Benutzer-Profile anzeigen
 
Lenhold
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 19.08.17
Wohnort: ---
Version: Release 2016b
     Beitrag Verfasst am: 13.09.2017, 14:10     Titel:
  Antworten mit Zitat      
Kann mir niemand helfen?

ich versuche mich seit Tagen an:
Code:
[r,c]=size(Data{1});
add=numel(pos);%pos enthält Indizies der gewollten Werte
Datanew{1}=NaN(add+r,c);
idx=setdiff(1:r+add,pos);
Datanew{1}(idx,:)=Data{1};


Ich erhalte die folgende Fehlermeldung:
Zitat:
The following error occurred converting from cell to double


In meiner ersten Spalte ist der Typ datetime, danach double.

Ich komme einfach nicht weiter...
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite Zurück  1, 2, 3, 4

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.