%2.Festlegung Untersuchungszeitraum
Startdatum = input('Start d. Analyse?[dd.mm.yyyy]: ','s');
Enddatum = input('Ende d. Analyse?[dd.mm.yyyy]: ','s');
%3.Erstellung Sicherung der Matrix -> Matrix raw enthält alle unbearbeiteten
%Kurse der Exceldatei
raw2=repmat(raw,1);
%4.Hilfsvariable um NaN zu identifizieren; Zellen mit Wert 1 haben in der
%Matrix raw2 den Wert NaN
identNaN = cellfun(@isnan, raw2, 'UniformOutput', false);
%5.Dimension/Anzahl Zeilen/Spalten speichern: Muss ca. 7660 Zeilen lang sein
%Spalten abhängig vom gewählten index
dimension = size(raw2);
zeilenanzahl = dimension(1);
spaltenanzahl = dimension(2);
%Eingegebenes Datum in Dateformat formatieren
date1 = datenum(Startdatum,'dd.mm.yyyy');
date2 = datenum(Enddatum,'dd.mm.yyyy');
SpalteDatum = raw2(:,1);
%Erste Zeile mit Namen der Werte löschen -Notwendig für Formatierung in
%Dateformat
SpalteDatum(1,:)=[];
formatIn = 'dd.mm.yyyy';
SpalteDatum = datenum(SpalteDatum,formatIn);
Matlab ist zwar Matlab, aber XLSREAD greift auf Excel-Bibliotheken zurück, und da hört die Macht von Matlab auf und Microsoft übernimmt. Auf PCs wird Excel über ActiveX verwendet, auf dem Mac steht das nicht zur Verfügung.
Du könntest an der Fehlermeldung ansetzen:
Zitat:
The input to DATENUM was not an array of character vectors.
das Problem dürfte wie von Jan vermutet in der Problematik von .xls auf einem Rechner ohne Excel liegen. Dazu aus der Doku:
Zitat:
xlsread imports formatted text representing dates (such as '10/31/96'), except in basic mode and on computers without Excel for Windows.
Ich kann das morgen mal unter Windows auf R2016b testen.
Zwischenzeitliche Vorschläge an dich:
- schau dir Datumspalte doch mal im Workspace an. Welche Double-Werte enthält die Variable denn?
- speichere Datumspalte mal in einer .mat-Datei ab und hänge das hier an. Dass ein Eintrag keinen Datentyp hat, ist merkwürdig.
- versuch mal readtable. Das sollte in R2016b Datumsangaben automatisch als datetime repräsentieren. Ob das ohne Excel richtig funktioniert, habe ich aber noch nicht versucht.
unter Windows und mit installiertem Excel läuft der Code unter R2016b durch.
Ich habe auch mal den 'basic'-Modus versucht, der laut Doku bei Macs verwendet wird. Dann kommen die Datumsangaben als Excel-Zahlen nach MATLAB. Die Umwandlung ist so möglich:
Code:
SpalteDatum = cell2mat(SpalteDatum);
D = datetime(SpalteDatum, 'ConvertFrom', 'Excel');
Das Problem der Komponente ohne Datentyp habe ich nicht. Da wäre also die Bitte: speichere Datumspalte mal in einer .mat-Datei ab und hänge das hier an. Ansonsten wie gesagt mal readtable versuchen.
Welches Betriebssystem verwendest du genau?
Grüße,
Harald
Einstellungen und Berechtigungen
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.