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

Einlesen einer Matrix von Excel (flexible Größe der Matrix

 

swizz-john
Forum-Anfänger

Forum-Anfänger


Beiträge: 47
Anmeldedatum: 28.04.13
Wohnort: ---
Version: MatlabR2013b
     Beitrag Verfasst am: 24.11.2013, 23:50     Titel: Einlesen einer Matrix von Excel (flexible Größe der Matrix
  Antworten mit Zitat      
Hi Leute,

ich bräuchte bitte eure Hilfe.
Ich versuche aus einem Tabellenblatt in Excel
einen bestimmten Bereich in Matlab einzulesen.

Ist der Bereich fix, ist es ja einfach. Dann geht das mit

xlsread('Oberflaeche.xlsx','Tabelle1','b5..d7');

Mein Problem ist nun aber, dass der einzulesende Bereich von Anwender abhängt. Je nachdem wieviele Zeilen er in die Matrix in den Excel-Sheet mit fixer Spaltenanzahl hineinschreibt, ändert sich die Größe der einzulesenden Matrix.

Wie kann ich es schaffen, dass excel immer alle eingetragenen Zeilen erfasst??

Best Greetz, swizz-john Wink
Private Nachricht senden Benutzer-Profile anzeigen


Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 25.11.2013, 00:42     Titel:
  Antworten mit Zitat      
Code:
xlsread('Oberflaeche.xlsx','Tabelle1');

eigentlich so ^^
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
swizz-john
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 47
Anmeldedatum: 28.04.13
Wohnort: ---
Version: MatlabR2013b
     Beitrag Verfasst am: 25.11.2013, 08:39     Titel:
  Antworten mit Zitat      
Ja so lese ich ja die ganze Tabelle ein, sprich alle numerischen Daten auf dem Tabellenblatt genau!

Aber ich habe mehrere Datenblöcke mit Überschriften etc. quasi eine übersichtliche Benutzeroberfläche von denen ich aber nur die relevanten Datenblöcke, je nachdem welches Programm ausgeführt werden soll, einlesen möchte!

und es kann sein, dass diese Tabelle 6 Zeilen hat, es kann aber auch sein, dass Sie 100 Zeilen hat^^

Schönen Gruß, swizz-john Wink
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 25.11.2013, 13:31     Titel:
  Antworten mit Zitat      
1.alles in matlab einlesen
2.relevanten bereich suchen und benutzen.

woher willst du wissen wo der relevante bereich ist wenn du ihn nicht gesucht hast ? ^^
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Duall777
Forum-Anfänger

Forum-Anfänger


Beiträge: 26
Anmeldedatum: 28.10.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.11.2013, 11:13     Titel:
  Antworten mit Zitat      
Hi,

du kannst auch versuchen, wenn der anwender genau weis welcher bereich eingelesen werden soll, eine abfrage erscheinen zu lassen in der der anwender den einzulesenden bereich per hand eingibt und du speicherst den anfang und das ende in 2 variablen und schreibst die variablen dann in xlsread
also nenen wir die variablen "Anfang" und "Ende"
Code:

xlsread('Oberflaeche.xlsx','Tabelle1',strcat(Anfang,':',Ende);
 


MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
swizz-john
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 47
Anmeldedatum: 28.04.13
Wohnort: ---
Version: MatlabR2013b
     Beitrag Verfasst am: 10.12.2013, 23:54     Titel:
  Antworten mit Zitat      
Vielen Dank für eure Hilfe!! Very Happy

besten gruß!
Private Nachricht senden Benutzer-Profile anzeigen
 
BlackDread
Forum-Century

Forum-Century


Beiträge: 212
Anmeldedatum: 11.05.11
Wohnort: ---
Version: 2015a
     Beitrag Verfasst am: 11.12.2013, 10:28     Titel:
  Antworten mit Zitat      
Hallo,

auch wenn du schon irgendeine Lösung (welche ist es denn nun?) hast, schreib ich mal dazu, wie ich es lösen würde.

Du müsstest ja zumindestens den Anfang der gewünschten Matrix kennen? In dem Fall würde ich die gesamte Tabelle einlesen und dann vom Anfang einfach die erste Zelle suchen, in der ein NaN steht (wenn du den num-Output von xlsread verwendest), davon eins abziehen und du hast den Bereich ziemlich sicher eingegrenzt.

Grüße
Chris
_________________

--> Kapieren statt Kopieren <---
____________________________________________________
FAQs sind dazu da, FAQs zu beantworten Wink
Richtig fragen!
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 - 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.