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

Exceldatei einlesen und Daten verarbeiten - OOP

 

stempf
Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 19.12.20
Wohnort: ---
Version: R2017a
     Beitrag Verfasst am: 19.12.2020, 18:47     Titel: Exceldatei einlesen und Daten verarbeiten - OOP
  Antworten mit Zitat      
Hallo zusammen!

Ich bin noch kompletter Matlab Neuling und muss jetzt für meine Abschlussarbeit in Matlab ein Tool programmieren.

Ich habe eine Excelliste in der Produkte hinterlegt sind. Zu den Produkten gibt es Preise, Technische Größe und Zubehör. Im Anhang ist ein Ausschnitt der Excelliste zu sehen.

Meine Frage ist jetzt:

Wie kann ich diese Liste am sinnvollsten einlesen und verarbeiten?

Wie gehe ich am besten vor bei der Objekt orientierten Programmierung vor? Welche Klassen sollte man erstellen? Funktion erstellen für das einlesen?
Ich will nach bestimmten Kriterien in der Liste suchen( im Bild sieht man die Zahlen 1,2,3,4 das sind meine Zahlen wonach ich filtern will)

In dem tool sollen dann später verschiedene Varianten der Produkte zusammengestellt werden und die Preise angezeigt werden

Wäre echt super wenn mir da einer weiterhelfen könnte um einen guten Start zu haben!

Viele Grüße

Ausschnitt Excel Datei.png
 Beschreibung:

Download
 Dateiname:  Ausschnitt Excel Datei.png
 Dateigröße:  1.4 MB
 Heruntergeladen:  259 mal
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


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

ich würde die Daten erst mal mit readtable einlesen, ggf. unter vorheriger Verwendung von detectImportOptions .
Das Suchen nach Kriterien geht mit logischer Indizierung.
(Selbst geschriebene) objektorientierte Programmierung scheint mir hier überzogen. Zur Zusammenstellung wird man wohl eine Benutzeroberfläche brauchen, dazu würde ich App Designer verwenden.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
stempf
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 19.12.20
Wohnort: ---
Version: R2017a
     Beitrag Verfasst am: 20.12.2020, 13:05     Titel:
  Antworten mit Zitat      
Danke für die schnelle antwort!

Wie kann ich kann ich dann mit den einzelnen Einträgen der Liste rechnen?

Wenn ich mir Einträge der Liste in eine Variable speicher (über Preis1 = Datei(2,3))
kann ich mit diesen keine rechenoperationen durchführen. ich glaube weil diese auch in einem Table gespeichert werden und nicht in einer Matrix ?!
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 20.12.2020, 13:55     Titel:
  Antworten mit Zitat      
Hallo,

genau. Wenn du mit Daten aus einem Table rechnen willst, mit { } oder . indizieren.
https://de.mathworks.com/help/matla.....cess-data-in-a-table.html
Der ursprünglichen Beschreibung zufolge dürfte dir vor allem dieses Beispiel in dem Link helfen: "Extract Data Using Dot Notation and Logical Values".

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
stempf
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 19.12.20
Wohnort: ---
Version: R2017a
     Beitrag Verfasst am: 21.12.2020, 14:52     Titel:
  Antworten mit Zitat      
Hallo,

muss ich die Exceltabelle dann als struct einlesen um mit dem .() Operator zu suchen?

Und nochmal eine Frage zur Objektorientierten Programmierung... diese wird von meinem Betreuer/Professor gefordert weil meine eingelesene Exceldatei erweitert werden soll und somit dynamisch wächst.

Wie gehe ich da am besten vor? Erstelle ich dann bestimmte Klassen für die einzelnen Einträge der Excelliste?

Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

Zitat:
muss ich die Exceltabelle dann als struct einlesen um mit dem .() Operator zu suchen?

Ich weiß nicht, was du hier genau mit "suchen" meinst, aber der . Operator funktioniert wie im Link zu sehen auch mit Tables.

Zitat:
Und nochmal eine Frage zur Objektorientierten Programmierung... diese wird von meinem Betreuer/Professor gefordert weil meine eingelesene Exceldatei erweitert werden soll und somit dynamisch wächst.

In welcher Hinsicht "erweitert"? Ich sehe da weiter keinen Bedarf für OOP.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
stempf
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 19.12.20
Wohnort: ---
Version: R2017a
     Beitrag Verfasst am: 21.12.2020, 17:41     Titel:
  Antworten mit Zitat      
Zu dem Thema suchen in der Liste:

Ich will über die Eingabemaske z.B. eingeben:
Elektrische Leistung PV Anlage 6000W. Dann soll in der Spalte Elektrische Leistung alle Zellen >6000W gefunden werden. Zudem sollen die zugehörigen Zeilen nach links und nach rechts auch ausgeben werden bzw. zwischengespeichert werden.


Zu OOP:
Es kann sein das ich in meiner Exceldatei Spalten hinzufüge oder neue Produkte anlege. Dadurch ändert sich meine Form der Exceldatei. Daher wurde mir geraten mit OOP zu arbeiten damit leichter Änderungen vorgenommen werden können.

Ich hoffe das hilft weiter...
Sry dafür das ich noch nicht so wirklich einen plan habe wie ich das alles realisieren soll

Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

Zitat:
Ich will über die Eingabemaske z.B. eingeben:
Elektrische Leistung PV Anlage 6000W. Dann soll in der Spalte Elektrische Leistung alle Zellen >6000W gefunden werden. Zudem sollen die zugehörigen Zeilen nach links und nach rechts auch ausgeben werden bzw. zwischengespeichert werden.

So etwas sollte mit Table + logischer Indizierung möglich sein. Hast du dir das anhand des Beispiels mal angesehen?

Zitat:
Es kann sein das ich in meiner Exceldatei Spalten hinzufüge oder neue Produkte anlege. Dadurch ändert sich meine Form der Exceldatei.

Darin sehe ich kein Problem.

Zitat:
Daher wurde mir geraten mit OOP zu arbeiten damit leichter Änderungen vorgenommen werden können.

Erscheint mir hier ein ziemlicher Overkill.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
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.