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

Werte aus Excel in die Properties eines Objekts einfügen

 

Schmobin
Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 17.07.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.07.2018, 18:10     Titel: Werte aus Excel in die Properties eines Objekts einfügen
  Antworten mit Zitat      
Hallo Zusammen,

ich habe eine Klasse definiert mit 20 Properties und muss jetzt mehrere Objekte der Klasse erstellen und diese mit Werten aus mehreren Excel Blättern versehen. Ich möchte allerdings nicht jede einzelne Zahl via

Objekt1.Property1 = 123

per Hand eintragen. Es sollte schon über Variablen gearbeitet werden. Welchen Weg könnt ihr mir dafür empfehlen?
Und kann man dafür eine Konstruktormethode schreiben?

Ich bedanke mich schonmal im Voraus für eure Antworten
Lg
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


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

grundsätzlich kannst du "ganz normale" Zuweisungen an die Eigenschaften machen, z.B.
Code:
Objekt1.Property1 = readtable( ... )


Die Objekte kannst du in einem Array ablegen und das dann in einer for-Schleife bearbeiten, z.B.
Code:
for k = ...
Objekt(k).Property1 = readtable( ... )
end


Eine Alternative zu einem Array von Objekten kann auch ein Objekt sein, das hier dann die 20 Werte der Eigenschaften z.B. als Cell Array enthält.

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
 
Schmobin
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 17.07.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.07.2018, 12:37     Titel:
  Antworten mit Zitat      
Hallo Harald, erstmal danke für deine Antwort.

leider Bekomme ich bei bei meinen Properties nicht den gewünschten Wert eingelesen sondern nur: [1x1 table]

Ich habe mir die Table erstellt mit Zeilen als auch SpaltenVariablen Namen erstellt, was alles gut funktioniert hat.

Danach wollte ich den Wert einlesen mit:

X = readtable(...);
obj.property1 = X(Zeilenvariable,Spaltenvariable);



wenn ich mir dann das objekt anzeigen lasse:

Property1 : [1x1 table]

Kannst du mir da vielleicht noch einen Tipp geben wie ich weiter vorgehen muss?
Private Nachricht senden Benutzer-Profile anzeigen
 
DerElch
Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 18.07.18
Wohnort: Wien
Version: 2017b
     Beitrag Verfasst am: 24.07.2018, 13:23     Titel:
  Antworten mit Zitat      
Du warst schon sehr nahe dran.

Es gibt in Matlab die Funktion
Code:

Wenn du die öffnest, siehst du dass die FUnktion sehr einfach aufgebaut ist.
Code:

a = t{:,:};
 


Dein Fehler war also nur runde Klammer statt geschwungener Smile
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.