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

Excel Datei einladen

 

Neuling333

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.05.2012, 20:06     Titel: Excel Datei einladen
  Antworten mit Zitat      
Hi,

ich bin Neuling und würde gerne eine Excel Datei laden. Die erste und zweite Spalte der Datei sind mit Zahlen bestückt. Nun soll die erste und zweite Zeile als Vektor (Variable A und Variable B) im Workspace gespeichert werden. Am besten soll die Datei ausgewählt werden können. Dazu habe ich den Befehl >uigetfile< gefunden. Danke schonmal

Grüße


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.502
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 31.05.2012, 20:21     Titel:
  Antworten mit Zitat      
Hallo,

hast du's schon mit XLSREAD versucht? Empfehlung: erst alle relevanten Daten einlesen, und dann mit Indizierung aufspalten.
Kannst du auch in Kombination mit UIGETFILE verwenden.

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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.05.2012, 22:53     Titel:
  Antworten mit Zitat      
Hallo Harald,

XLSREAD habe ich bisher noch nicht ausprobiert. Kannst du mir vllt. eine kleine Hilfestellung geben, wie ich die beiden Sachen (XLSREAD und UIGETFILE ) verknüpfen kann?

Grüße
 
_Peter_
Moderator

Moderator


Beiträge: 537
Anmeldedatum: 08.12.10
Wohnort: ---
Version: 7.10, 2010a
     Beitrag Verfasst am: 01.06.2012, 08:32     Titel:
  Antworten mit Zitat      
Hallo Neuling333,
schau dir die Hilfe mal an.
Die ist bei Matlab sehr gut und dort stehen auch einiges Beispiele drin. Versuch dies zu verstehen und schau es dir genau an.

http://www.mathworks.de/help/techdoc/ref/xlsread.html
_________________

Gruß
Peter
_________________
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht? Oder der MATLAB Hilfe?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Neuling333

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.06.2012, 20:08     Titel:
  Antworten mit Zitat      
Hallo Peter, hallo Harald

ich habe mir eine Funktion importfile erstellt, die über importdata Dateien einläd. Wenn ich jetzt mit dem Befehl
Code:
importfile([Pfad])
die Datei einladen will, klappt das prima. Um die Datei im Ordner auswählen zu können, benutze ich den Befehl
Code:
importfile(uigetfile('*.*','Datei öffnen'))
und bekomme die Fehlermeldung: Unable to open file. Wieso funktioniert das nicht?

Grüße
 
Harald
Forum-Meister

Forum-Meister


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

das ist aus der Ferne schwer zu sagen. Wechselst du vielleicht das Verzeichnis?
Dann hilft:
Code:
[FileName,PathName] = uigetfile('*.*','Datei öffnen');

und dann beides mit FULLFILE zusammensetzen.

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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.06.2012, 10:40     Titel:
  Antworten mit Zitat      
Hallo Harald,

das passt gut, danke! Jetzt habe ich ein letztes Problem. Die eingeladene Datei wird als "Tabelle1" abgespeichert. Wenn ich die erste Zeile (function laden()) lösche, klappt alles (v und t können definiert werden).
Code:

function laden()
global v t

[name,pfad]=uigetfile('*.*','Datei auswählen');
zyklus = fullfile([pfad name]);
importfile(zyklus)

t = Tabelle1(:,1);
v = Tabelle1(:,2);

In einer anderen m-file wird die Funktion mit laden(); aufgerufen, um v und t benutzen zu können. Als Fehlermeldung erscheint: Undefined function or variable "Tabelle1". Wieso klappt das so nicht?

Grüße
 
Neuling333

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.06.2012, 10:49     Titel:
  Antworten mit Zitat      
Ok das musste komischerweise in der anderen file auch global gesetzt werden
 
Neuling333

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.06.2012, 15:10     Titel:
  Antworten mit Zitat      
Ich bekomme dann doch nur einen leeren Vektor. Was mache ich falsch beim zugreifen auf die funkction??

Grüße
 
Harald
Forum-Meister

Forum-Meister


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

jede Funktion hat einen eigenen Workspace. Alles, was in die Funktion hinein- oder aus der Funktion herausgeschickt werden soll, muss als Argument übergeben werden - oder man verwendet den globalen Workspace oder andere Konstrukte, die ich aber nicht exzessiv einsetzen würde, da sie die Idee von Funktionen (z.B. Strukturierung von Code und Daten) gewissermaßen aushebeln.
Code:


importfile würde ich mit Rückgabeargument verwenden; noch besser stattdessen xlsread.

Bitte möglichst genau erklären, was von wo wie aufgerufen wird, da man sonst nur raten kann, wo das Problem liegt.

Grüße,
Harald
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 - 2025 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.