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

3.8 Installation_ brauche xlsread

 

sbmiles21
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 68
Anmeldedatum: 16.02.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.06.2014, 13:59     Titel: 3.8 Installation_ brauche xlsread
  Antworten mit Zitat      
Hallo,
irgendwie komme ich nicht klar mit der installation :/... ich hatte schonmal 3.8 installiert. Nur leider war das IO Package (ich brauche dringend xlsread) nicht installiert. Nach etwas herumprobieren.....habe ich alles nochmal deinstalliert.

Kann mir jemand den Link der aktuellen Octave 3.8.x Version posten? (Habe gehört es gibt auch welche die nicht released sind--> Fehlrehaft..? )

Ist in dieser Version xlsread enthalten?Bzw. wo kann ich das IO-Package herunterladen+ wie wird es installiert?



Finde da nichts eindeutiges im Netz und das letzte herumprobieren hat nicht geklappt :/..


Für Hilfe wäre ichsehr dankbar

Gruss
Private Nachricht senden Benutzer-Profile anzeigen


sbmiles21
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 68
Anmeldedatum: 16.02.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.06.2014, 14:54     Titel:
  Antworten mit Zitat      
ich habe mir nun das neuste release heruntergeladen:
http://mxeoctave.osuv.de/
3.8.1

Das IO package von dieser Seite:
http://octave.sourceforge.net/io/


Wie kann ich es nun installieren? Muss ich es in einen bestimmten Ordner kopieren?


Gruss
Private Nachricht senden Benutzer-Profile anzeigen
 
sbmiles21
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 68
Anmeldedatum: 16.02.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.06.2014, 07:48     Titel:
  Antworten mit Zitat      
weiss keiner wie man das IO Package installiert? Bzw. einen Link zu einem Tut.?

Gruss
Private Nachricht senden Benutzer-Profile anzeigen
 
sbmiles21
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 68
Anmeldedatum: 16.02.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.06.2014, 08:06     Titel:
  Antworten mit Zitat      
Ich habe es nun mit pkg install Pfad der Tar datei
installiert

Code:
>> pkg list
Package Name  | Version | Installation directory
--------------+---------+-----------------------
          io  |   2.2.2 | C:\Octave\Octave-3.8.1\share\octave\packages\io-2.2.2



Wenn ich jedoch xlsread benutzen will erscheint wieder der Fehler:

Code:

>> xlsread(b)
warning: Functions for spreadsheet style I/O (.xls .xlsx .sxc .ods .dbf .wk1
etc.) are provided in the io package. See `http://octave.sf.net/io/'.

Please read `http://www.octave.org/missing.html' to learn how you can
contribute missing functionality.


error: 'xlsread' undefined near line 1 column 1
>>
Private Nachricht senden Benutzer-Profile anzeigen
 
Stephan_IIte

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.06.2014, 09:14     Titel:
  Antworten mit Zitat      
Das io package ist zwar installiert aber noch nicht geladen....


tip dann noch pkg rebuild -auto io ein und starte octave danach neu.

Ab jetzt wird das io package dann automatisch mit jedem start geladen und du hast alle funktionen im io packege zur Verfügung.

Du kannst es aber auch jedes mal per hand mit pkg load io
in den octave speicher laden...

wenn du pkg list eintippst und die liste der installierten pkgs siehst...
dann ist bei den packeten die geladen sind ein kleines stern hinter ihrem angezeigem Namen...
 
sbmiles21
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 68
Anmeldedatum: 16.02.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.06.2014, 16:58     Titel:
  Antworten mit Zitat      
super, ich danke für die Antwort. Den Befehl kannte ich gar nicht, werde ich direkt mal probieren.

Schönes Wochenende an alle Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
markuman
Forum-Guru

Forum-Guru


Beiträge: 320
Anmeldedatum: 14.12.12
Wohnort: ---
Version: 2013a/2013b, Octave 3.6.4, 3.7.7
     Beitrag Verfasst am: 13.06.2014, 17:28     Titel:
  Antworten mit Zitat      
Zudem sei noch gesagt, dass *.xls Dateien nur mit hilfe von MS Excel oder Java Bibliotheken eingelesen werden können. Hast du weder noch, kannst du sie nicht einlesen.
.xlsx Dateien hingegen sollten völlig ohne Abhängigkeiten eingelesen werden können.
_________________

DIY OR DIE Cool

entropie=char(floor(94*rand(1, round(100.*rand)) + 32))
https://github.com/markuman
Private Nachricht senden Benutzer-Profile anzeigen
 
sbmiles21
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 68
Anmeldedatum: 16.02.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.06.2014, 13:55     Titel:
  Antworten mit Zitat      
mhh stimmt.
Meinst du damit packages? Also brächte ich ein MS Excel oder JAVA Package um xls einzulesen?

-_> ah ok also Allg. Java Envi. habe ich auf Win installiert. Es gibt jedoch noch dieses Java Package, das meinst du? Versuche es grad zu installieren, aber irgendwie wird es in pkg list nicht angezeigt :/

Er erkennt aber zumindest schonmal xlsread Smile , zeigt jedoch folgende Fehler beim lesen an:
Code:
clc
[fname,pname] =uigetfile('.xlsx','Öffnen der Messdatei','Excel2003Datei-Formatiert!');

fname;
extra="/";
pname;

b=strcat(pname,extra,fname);
A=xlsread(b);

Öffnen von xlsx:
Code:
瞎Detected XLS interfaces: error: __OCT_xlsx2oct__: A(I): index out of bounds; value 11 out of bound 10

error: called from:
error:   C:\Octave\Octave-3.8.1\share\octave\packages\io-2.2.2\private\__OCT_xlsx2oct__.m at line 238
, column 14
error:   C:\Octave\Octave-3.8.1\share\octave\packages\io-2.2.2\xls2oct.m at line 210, column 27
error:   C:\Octave\Octave-3.8.1\share\octave\packages\io-2.2.2\xlsread.m at line 214, column 25
error:   C:\Users\ben\Desktop\octave\A_load_input_file.m at line 21, column 2
>>


Beim öffnen von xls:
Hier wird zumindest schonmal die A Matrix angelegt, aber leer :/
܉
Code:
煔None.
warning: xlsopen.m: no support for spreadsheet I/O

warning: xlsread: some elements in list of return values are undefined
>>



Gruss

Zuletzt bearbeitet von sbmiles21 am 14.06.2014, 14:45, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
markuman
Forum-Guru

Forum-Guru


Beiträge: 320
Anmeldedatum: 14.12.12
Wohnort: ---
Version: 2013a/2013b, Octave 3.6.4, 3.7.7
     Beitrag Verfasst am: 14.06.2014, 14:13     Titel:
  Antworten mit Zitat      
Wenn du keine Möglichkeit hast die .xls als .xlsx Datei zu speicher, dann ja. Diesen Weg würde ich immer bevorzugen, da diese Java Schnittstelle richtig richtig langsam ist - genau wie bei Matlab.

Vor allem brauchst du aber Java-Bibliotheken die die .xls Dateien verarbeiten können. Das ist auch nur ganz ganz bescheiden dokumentiert.
http://wiki.octave.org/IO_package#Required_support_software_2
Am besten sollen wohl die Apache POI Bibliotheken funtkionieren.
Diese .jar Dateien musst du anschließend mit javaaddpath hinzufügen. Zum Beispiel so:

Code:

    javaaddpath('~/poi_library/poi-3.8-20120326.jar');
    javaaddpath('~/poi_library/poi-ooxml-3.8-20120326.jar');
    javaaddpath('~/poi_library/poi-ooxml-schemas-3.8-20120326.jar');
    javaaddpath('~/poi_library/xmlbeans-2.3.0.jar');
    javaaddpath('~/poi_library/dom4j-1.6.1.jar');
 


Dann sollte xlsread mit Octave für .xls Dateien funktionieren.
_________________

DIY OR DIE Cool

entropie=char(floor(94*rand(1, round(100.*rand)) + 32))
https://github.com/markuman
Private Nachricht senden Benutzer-Profile anzeigen
 
sbmiles21
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 68
Anmeldedatum: 16.02.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.06.2014, 14:56     Titel:
  Antworten mit Zitat      
Danke für die schnelle Antwort am WE.

#Nur mal so nebenbei, gibt es eine alternativ Programm, mit dem ich Problemlos xls oder xlsx auslesen und schreiben kann? Muss nur Daten auslesen in matrizen speichern, ein paar billige Berechnungen machen und diese dann wieder in Excel speichern.

#Bzw. funktiniert xlsread bei anderen Octave Versionen?

Gruss und danke
Private Nachricht senden Benutzer-Profile anzeigen
 
markuman
Forum-Guru

Forum-Guru


Beiträge: 320
Anmeldedatum: 14.12.12
Wohnort: ---
Version: 2013a/2013b, Octave 3.6.4, 3.7.7
     Beitrag Verfasst am: 14.06.2014, 15:52     Titel:
  Antworten mit Zitat      
sbmiles21 hat Folgendes geschrieben:
Danke für die schnelle Antwort am WE.

#Nur mal so nebenbei, gibt es eine alternativ Programm, mit dem ich Problemlos xls oder xlsx auslesen und schreiben kann?


Jo, Excel Smile

Zitat:

#Bzw. funktiniert xlsread bei anderen Octave Versionen?


Das hat mit Octave gar nichts zu tun! Das io-package bringt die xlsread/write funktionalität unter Octave.
Und vor der io-package Version 1.2.4 konnte Octave nur mit den besagten Java Bibliotheken Excel Dateien lesen/schreiben.
Unter Windows ging das auch über die Excel API, sofern Excel installiert ist.
Seit 1.2.5 funktioniert xlsread für .xlsx Dateien abhängigkeitsfrei und seit 2.2.0 auch xlswrite für .xlsx Dateien. Für .xls ist hingegen alles beim alten geblieben.


Ich denke es bedarf zur .xls/xlsx und xlsread/write mal einen Grundsatzartikel.

1. .xls
Das ist das veraltete, proparitäre Excel Format von Microsoft. Es ist ein Binärblob der afaik bis einschließlich Excel 2003 der Standard war. (Wir haben 2014!)

2. .xlsx
Das ist der neue Excel Standard seit Excel 2007. Es ist kein Binärblob mehr, sondern eine gezippte Datei die jede menge XML Dateien beinhalten. Für den Aufbau dieser XML Dateien haben die es auch irgendwie geschafft eine ISO zu bekommen.
Siehe auch: http://de.wikipedia.org/wiki/Office_Open_XML

3. xlsread - MATLAB
Matlab kann xls/xlsx Dateien unter allen Betriebsystemen lesen.
Unter Linux verwendet es hierfür ebenfalls (mir unbekannte) Java Bibliotheken (Kann je nach Dateigröße super langsam sein!). Unter Windows wird hierfür auf Excel zurück gegriffen.

4. xlswrite - MATLAB
Matlab kann xls/xlsx Dateien nur unter Windows schreiben und auch nur wenn Excel installiert ist!!
Unter Linux schreibt xlswrite zum Beispiel einfach eine .csv Datei.
Es gibt diverse Lösungen, die jedoch alle auf Java Biblotheken setzen (wir auch die Octave Lösung).
Siehe auch: http://www.mathworks.com/matlabcent.....el-from-matlab-on-mac-win und http://undocumentedmatlab.com/blog/xlswrite-for-mac-linux

5. .xls - Octave
Octave kann mit dem io-package .xls Dateien (siehe 1.) ausschließlich über die Java Bibliotheken lesen/schreiben, wenn es nicht unter Windows läuft und auf Excel zurückgreifen kann (exakt wie Matlab auch).

6. .xlsx - Octave
Seit io-package Version 1.2.4 kann Octave .xlsx Dateien vollkommen abhängigkeitsfrei lesen!
Seit io-pacakge Version 2.2.0 kann Octave .xlsx Dateien vollkommen abhängigkeitsfrei schreiben!
Funktioniert auf allen Betriebsystemen, du brauchst keine Java Bibliotheken und auch kein Excel dafür.


7. Fazit
Benutze immer .xlsx! Da spricht eh nichts gegen und Excel sollte von Haus aus eigentlich auch immer das neue Format schreiben.
Wenn du von jemand anderen eine .xls Datei bekommen hast, verlange einfach eine .xlsx Datei.
Doof nur wenn ein Betriebsystem nun meint die Fileextension verstecken zu müssen Smile
_________________

DIY OR DIE Cool

entropie=char(floor(94*rand(1, round(100.*rand)) + 32))
https://github.com/markuman
Private Nachricht senden Benutzer-Profile anzeigen
 
sbmiles21
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 68
Anmeldedatum: 16.02.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.06.2014, 16:39     Titel:
  Antworten mit Zitat      
Ich danke für die ausführliche Beschreibung.
Genau io 2.2.2 habe ich auch installiert und versucht eine xlsx Datei zu öffnen, aber ich bekomme immer noch diesen Fehler:

Code:
Öffnen von xlsx:
Code:
瞎Detected XLS interfaces: error: __OCT_xlsx2oct__: A(I): index out of bounds; value 11 out of bound 10

error: called from:
error:   C:\Octave\Octave-3.8.1\share\octave\packages\io-2.2.2\private\__OCT_xlsx2oct__.m at line 238
, column 14
error:   C:\Octave\Octave-3.8.1\share\octave\packages\io-2.2.2\xls2oct.m at line 210, column 27
error:   C:\Octave\Octave-3.8.1\share\octave\packages\io-2.2.2\xlsread.m at line 214, column 25
error:   C:\Users\ben\Desktop\octave\A_load_input_file.m at line 21, column 2
>>

 



Weisst du was das ist?
Private Nachricht senden Benutzer-Profile anzeigen
 
markuman
Forum-Guru

Forum-Guru


Beiträge: 320
Anmeldedatum: 14.12.12
Wohnort: ---
Version: 2013a/2013b, Octave 3.6.4, 3.7.7
     Beitrag Verfasst am: 14.06.2014, 17:14     Titel:
  Antworten mit Zitat      
Was passiert wenn du

Code:

m = xlsread ('file.xlsx', 1, [], 'OCT');
 


versuchst? (file.xlsx natürlich noch anpassen, aber den rest mal so lassen).
_________________

DIY OR DIE Cool

entropie=char(floor(94*rand(1, round(100.*rand)) + 32))
https://github.com/markuman
Private Nachricht senden Benutzer-Profile anzeigen
 
sbmiles21
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 68
Anmeldedatum: 16.02.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.06.2014, 20:00     Titel:
  Antworten mit Zitat      
ok, habe es so eingegeben, m wird nicht angelegt und er sagt mir folgendes:
Code:
Checking requested interface(s):
OCT*; (* = default interface)
error: __OCT_xlsx2oct__: A(I): index out of bounds; value 11 out of bound 10
error: called from:
error:   C:\Octave\Octave-3.8.1\share\octave\packages\io-2.2.2\private\__OCT_xlsx2oct__.m at line 238
, column 14
error:   C:\Octave\Octave-3.8.1\share\octave\packages\io-2.2.2\xls2oct.m at line 210, column 27
error:   C:\Octave\Octave-3.8.1\share\octave\packages\io-2.2.2\xlsread.m at line 214, column 25
error:   C:\Users\ben\Desktop\octave\A_load_input_file.m at line 23, column 3
>>
Private Nachricht senden Benutzer-Profile anzeigen
 
sbmiles21
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 68
Anmeldedatum: 16.02.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.06.2014, 20:08     Titel:
  Antworten mit Zitat      
ah ok,
ich habe das selbe mit einer neu angelegten excel datei gemacht. Da hat alles sauber funktioniert.
Code:

￵>> m
m =

   1   2   3
   4   5   6

>>


Dabei habe ich einfach 2x3 Zeile/Spalten in Excel eingegeben. Es scheint das meine Messdatei irgend ein Format den Fehler verursacht?

Der Inhalt meiner Excel-Datei sieht so aus (7 Spalten 9000 Zeilen:

Code:
date: 201345   time: 083736   number of cycles: 74127   T_one: 56   T_two: 90.000      
 running state: running !    TA: -40   TB: -40   TC: -40   TD: -40      
*-*                  
24203   0   2724   0   0   0   2
21040   0   0   0   0   0   1
20706   0   0   0   0   0   1
20810   0   0   0   0   0   1
20790   0   0   0   0   0   1
20799   0   0   0   0   0   1
20804   0   0   2   0   0   1
20783   0   0   6   0   0   1


Es wäre aber schlecht, wenn ich etwas in der Excel ändern muss, da ich davon Millionen habe, welche ich dann händlich ändern müsste :/ Oder meinst du liegt der Fehler doch irgendwo anders?

Gruss

Zuletzt bearbeitet von sbmiles21 am 14.06.2014, 20:10, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite 1, 2, 3  Weiter

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.