|
|
Excel-Tabelle als Vektoren einlesen Überschriften=Vektornam |
|
Osterwma |

Forum-Anfänger
|
 |
Beiträge: 38
|
 |
|
 |
Anmeldedatum: 01.12.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 15.01.2015, 11:37
Titel: Excel-Tabelle als Vektoren einlesen Überschriften=Vektornam
|
 |
Hallo Zusammen,
könnt ihr mir helfen, wie ich xls-Tabellen wie folgt in Matlab einlesen kann:
Die Tabelle hat mehrere Spalten mit 1141 Zeilen.
In Zeile 1 stehen Text-Überschriften, darunter nur Zahlen.
Jede Spalte soll nun als 1x1140 double Vektor abgespeichert werden. Der Name des Vektors, soll die jeweilige Überschrift aus Zeile 1 sein.
Wie müsste ich das programmieren?
Vielen Dank im Voraus.
Grüße
Martin
|
|
|
|
|
Osterwma |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 38
|
 |
|
 |
Anmeldedatum: 01.12.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 15.01.2015, 18:15
Titel:
|
 |
Hallo Zusammen,
ich hab in der Zwischenzeit mal ein bisschen rumprobiert, wobei folgendes rausgekommen ist:
Leider weiß ich immer noch nicht, wie ich die Vektoren anstatt mit Überschrift_1, Überschrift_2, usw. bezeichne, nun als Namen die Spaltenüberschrift geben kann, also was in A1, B1, C1 usw. in Excel steht...
Kann mir jemand weiterhelfen?
Vielen Dank im Voraus.
Grüße
Martin
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 15.01.2015, 18:35
Titel:
|
 |
Hallo,
eval etc. sollte möglichst vermieden werden.
Für diese Aufgabe sind Tables (ab R2013b) bzw. Dataset Array (Statistics Toolbox wie geschaffen.
Grüße,
Harald
|
|
|
Osterwma |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 38
|
 |
|
 |
Anmeldedatum: 01.12.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 15.01.2015, 19:16
Titel:
|
 |
Hi Harald,
kann ich soweit nachvollziehen.
Allerdings werd ich nicht schlau draus, wie ich aus der eingelesenen Tabelle dann wieder einzelne Vektoren für meinen Workspace machen kann, welche jeweils wie die "column headings" heißen.
Wenn ich beispielsweise die angehängte xls Datei über readtable einlese, muss ich den dann wieder in einzelne Variablen/Vektoren zerlegen ( a = ... , b=..., ...), sodass ich am Ende 8 eigenständige Variablen im Workspace habe.
Wie würde das in diesem Fall aussehen?
Grüße
Martin
Beschreibung: |
|
 Download |
Dateiname: |
Vorgabe.xls |
Dateigröße: |
140 KB |
Heruntergeladen: |
395 mal |
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 15.01.2015, 21:35
Titel:
|
 |
Hallo,
warum willst du denn unbedingt eigenständige Variablen mit diesen Namen haben? Meiner Erfahrung nach bringt es nur Nachteile, Dateninformationen in Variablennamen abzuspeichern.
Aus dem Table kannst du jederzeit mit
beliebige Spalten herausholen.
Grüße,
Harald
|
|
|
Osterwma |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 38
|
 |
|
 |
Anmeldedatum: 01.12.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 19.01.2015, 12:19
Titel:
|
 |
Hi Harald,
danke für deine Hilfe.
du erinnerst dich bestimmt noch an meine PV-Simulation.
Jetzt simuliere ich hier einzelne Elektrogeräte, um den Gesamtstromverbrauch in einem Haus zu simulieren.
In dem Excel Sheet wird über die Binärvariable vorgegeben, wann ein Gerät an und aus sein soll.
Die einzelnen Geräte will ich jetzt in einem Schwung in Matlab einlesen, um dann die einzelnen Geräte in Funktionen einbinden zu können und dann zu plotten. Daher wollte ich einzelne Vektoren für jedes Gerät haben und nicht eine große Tabelle.
Viele Grüße
Martin
|
|
|
KEH |

Forum-Century
|
 |
Beiträge: 148
|
 |
|
 |
Anmeldedatum: 09.10.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 2016b
|
 |
|
|
 |
|
Verfasst am: 19.01.2015, 12:39
Titel:
|
 |
das meinte er glaube ich
also für dich
Signal= data(:,1)
zum Beispiel
dmit hast du den vektor für dein signalgeber
|
|
|
Osterwma |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 38
|
 |
|
 |
Anmeldedatum: 01.12.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 19.01.2015, 12:50
Titel:
|
 |
Hi KEH,
Genau, das funktioniert auch soweit ganz gut
Ich hatte nur gehofft, dass es irgendwie möglich ist, den Variablen-Namen ( also in deinem Beispiel "Signal"), automatisch nach dem obersten Eintrag im Table zu benennen.
Grüße
Martin
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 19.01.2015, 13:10
Titel:
|
 |
Hallo,
Zitat: |
du erinnerst dich bestimmt noch an meine PV-Simulation.
|
Nein, leider nicht, da ich hier zu den verschiedensten Themen Beiträge schreibe.
Zitat: |
Die einzelnen Geräte will ich jetzt in einem Schwung in Matlab einlesen, um dann die einzelnen Geräte in Funktionen einbinden zu können und dann zu plotten. |
Das ist mit meinem Ansatz problemlos möglich, indem du
an die Funktionen übergibst.
Wenn Signal eine String-Variable ist, gibt es zudem die Möglichkeit, das dynamisch auszuwerten
Wenn du mit eval arbeitest, ändern sich die vorhandenen Variablen ja dynamisch in Abhängigkeit von der gewählten Excel-Tabelle. Das ist automatisiert sehr schwer zu verarbeiten, während es mit meinem Vorschlag relativ leicht ist.
Grüße,
Harald
|
|
|
KEH |

Forum-Century
|
 |
Beiträge: 148
|
 |
|
 |
Anmeldedatum: 09.10.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 2016b
|
 |
|
|
 |
|
Verfasst am: 20.01.2015, 14:05
Titel:
|
 |
Blöder einwurf?
Mit dem Import Tool legst du doch den Variablenname (automatisch) fest in dem du angibst in welcher Zeile dieser in der Tabelle steht
wenn du das als Funktion machst ist das natürlich im Programm dann hinfällig aber würdest du das Als Script schreiben wäre es "automatisiert"
Bitte korrigiert ruhig =D
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 20.01.2015, 23:51
Titel:
|
 |
Hallo,
wie gesagt: es ist über eval möglich, das automatisch zu machen (und genau das wird der aus dem Import Tool generierte Code auch tun).
Ich meine aber, dass man sich damit ins Knie schießt, und ich möchte nicht den Weg dafür liefern.
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| 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.
|
|