Forum: PC-Programmierung MatLab Problem mit xls-file


von Bratensosse (Gast)


Lesenswert?

Guten Morgen,

ich würde gerne ein xls-file in Matlab einlesen. Dazu verwende ich die 
folgenden aufruf: daten=('filename.xls')
filename.xls besteht aus Simulationswerten mit 82 Zeilen und 63 Spalten.
Matlab legt mir die Variable "daten" an und im Workspacefenster ist zu 
sehen, dass ein double arry 40x63 angelegt wurde. Die letzte Zeile wird 
mit NaN abgeschlossen. Die frage ist nun, warum er bei Zeile 40 schon 
aufhört Daten einzulesen. Und warum ist die letzte eingelesene Zeile 
"not a number". In meinem xls-sheet sind nach der dritten Zeile überall 
Werte (Zahlen) drin (Bis Zeile 82).

Hat jemand eine Idee wie ich alle Daten einlesen kann? Liegt das an 
der Formatierung des xls-files? Habe ich die maximale Matrix-größe 
überschritten?
Arbeite erst seit ein paar Tagen mit MatLap, also nicht gleich hauen:-)

Frühwochenendliche Grüße

von Bratensosse (Gast)


Lesenswert?

Nachtrag!

Eingelesen wird das xls-file natürlich mit:

daten=xlsread('filename.xls')

Sorry!

von Johannes M. (johnny-m)


Lesenswert?

Sicher, dass nicht irgendwo ein (evtl. nicht sichtbares) Sonderzeichen 
reingerutscht ist? Darauf würden zumindest die NaNs hindeuten, weil 
Zahlen dann nicht mehr als Zahlen erkannt werden...

Sind die Zellen im Excel-Sheet alle als "Zahl" formatiert?

von Johannes M. (johnny-m)


Lesenswert?

So, grad mal ausprobiert:
Zumindest bei mir werden alle Werte eingelesen, auch wenn zwischendurch 
ganze Zeilen mit nicht-numerischem Zeugs gefüllt sind.

von Bratensosse (Gast)


Lesenswert?

Hey Johannes,

Ja, Zellen sind alle als Zahl formatiert.
Sonderzeichen habe ich nicht gefunden.
Habe das excel-file als "Microsoft Ecxel 5.0/95-Arbeitsmappe(*.xls)" 
abgespeichert. Office Packet ist das 2007.
Habe mal geselesen, dass xlsread nur mit excel98 funktioniert. Das kann 
ich aber beim speichern des xls-files nicht angeben.

Könnte es damit zusammenhängen?

Grüße!

von Johannes M. (johnny-m)


Lesenswert?

Bratensosse wrote:
> Hey Johannes,
>
> Ja, Zellen sind alle als Zahl formatiert.
> Sonderzeichen habe ich nicht gefunden.
> Habe das excel-file als "Microsoft Ecxel 5.0/95-Arbeitsmappe(*.xls)"
> abgespeichert. Office Packet ist das 2007.
Öh, welche Version von MATLAB hast Du? Ich habe es mit der 2007a 
getestet, und die kann mit einem ganz normalen Excel-Sheet (gespeichert 
als "Microsoft Excel Arbeitsmappe") problemlos arbeiten...

von Bratensosse (Gast)


Lesenswert?

Hmmm na sowas!

Habe 6.5.0.180913a Release 13
von 2002

Aber müsste meinst du die xlsread wurde da verändert?!?

Grüße

von Johannes M. (johnny-m)


Lesenswert?

Bratensosse wrote:
> Aber müsste meinst du die xlsread wurde da verändert?!?
Nun, offensichtlich liegt the Mathworks etwas daran, dass man mit 
aktuellen MATLAB-Versionen auch Excel-Dokumente verarbeiten kann, die 
nicht von irgendeiner Uralt-Version stammen...

BTW:
Besorg Dir mal ne aktuelle MATLAB-Version! Besonders, wenn Du grad 
anfängst, damit zu arbeiten, ist ein vergleichweise uralte Version 
absolut nicht ratsam! Und so teuer ist die Studi-Version nicht...

von Marco -. (Gast)


Lesenswert?

Hallo

ich möchte Daten aus einer xls-File einlesen. Klappt soweit auch. Nun 
möchte ich aber noch den Sheet-Namen einlesen. Das funktioniert ja mit:

[typ, desc] = xlsfinfo(filename);

Bei mir kommt jetzt aber immer eine Fehlermeldung:

??? Subscripted assignment dimension mismatch.

Error in ==> xlsfinfo at 80
        indexes(i) = (strfind(class(sheet), 'Worksheet') > 0);

Error in ==> xls at 5
[typ, desc] = xlsfinfo(filename);


filename wurde vorher deklariert.

Gruß Marco

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.