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

Variablen aufrufen speichern laden

 

Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.03.2013, 15:25     Titel: Variablen aufrufen speichern laden
  Antworten mit Zitat      
Frohe Ostern matlaber,

ich habe eine Frage und zwar folgendes:

Ich habe ein Formelberechner geschrieben, dabei möchte ich mein Tool flexibel halten, dass heisst ich möchte verwendete zahlen speichern. Dabei würde ich es als objekt, als matrix oder in eine text datei schreiben.

Jede gespeicherte datensatz könnte beispielsweise eine id haben.

Den algorithmus mit den jeweiligen formeln konnte ich matlab lösen, doch diese erweiterung fällt mir schwer...

wobei wichtig wäre das laden der werte... ich hätte gerne eure ideen?

Code:
Formel1   Formel2   Formel3   Formel4   Formel5   Formel6   Formel7
Wert1   Wert2   Wert3   Wert4   Wert5   Wert6   Wert7
Wert4   Wert5   Wert6   Wert7   Wert8   Wert9   Wert10
Wert7   Wert8   Wert9   Wert10   Wert11   Wert12   Wert13
Wert10   Wert11   Wert12   Wert13   Wert14   Wert15   Wert16
Wert13   Wert14   Wert15   Wert16   Wert17   Wert18   Wert19
Wert16   Wert17   Wert18   Wert19   Wert20   Wert21   Wert22
Param1   Param2   Param3   Param4   Param5   Param6   Param7
id1   id2   id3   id4   id5   id6   id7


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 28.03.2013, 15:47     Titel:
  Antworten mit Zitat      
Hallo,

wenn du mit Objekten arbeitest, ist doch das einfachste, die Daten direkt als Objekte dieser Klasse zu speichern und zu laden, mit save und load.

Wenn du eine Textdatei dieser Gestalt haben möchtest, würde ich mit fprintf (schreiben) und textscan (lesen) arbeiten. Der Aufwand ist da allerdings deutlich höher.

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



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.03.2013, 17:38     Titel:
  Antworten mit Zitat      
danke für die rückmeldung, wie überlegst du es dir?

meine klasse könnte ich allgemein halten und attribute erstellen mit folgender form

Code:
Formel1
Wert1  
Wert2  
Wert3  
Wert4  
Wert5  
Wert6  
Wert7
Param
id


doch wie kann ich es am besten mit dem load save lösen, es sollte skalierbar sein... kannst du mir da was empfehlen
 
Harald
Forum-Meister

Forum-Meister


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

Objekte kannst du genauso abspeichern wie jede andere Variable auch.
Code:
save datei.mat variable

entsprechend mit load.

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



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.03.2013, 18:05     Titel:
  Antworten mit Zitat      
wie erzeuge ich das objekt mit

Code:
variable = klasse(x, y, z)


soll ich in mein werkzeug code eine arte platzhalter machen, oder wie soll ich die variablen aus den objekten ansprechen
 
Harald
Forum-Meister

Forum-Meister


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

ich verstehe diese Frage beim besten Willen nicht.
Vor allem nicht, was sie mit der bisherigen Fragestellung zu tun haben soll.

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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.03.2013, 22:26     Titel:
  Antworten mit Zitat      
ich versuch es nochmal:

ich als benutzer möchte in matlab geschriebe formel verwenden:


Dabei besitzt meine formel sehr viele faktoren (undgefähr neun Faktoren):

ich möchte als benutzer zunächst einmal default werte für die faktoren haben, anschließend möchte ich die faktoren anpassen und es unter einem neuen namen abspeichern.

diese abgespeicherten werte möchte ich mit dem namen auch aufrufbar machen...
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 28.03.2013, 23:27     Titel:
  Antworten mit Zitat      
Hallo bayrisch,

Zunächstmal würde ich 9 nicht als "viele" bezeichnen. Ich weiß aber nicht genau, was "eine in Matlab geschrieben Formel" in Deinem Fall ist. Wie genau möchtest Du die Faktoren anpassen und was beudeutet "unter einem Namen abspeichern" - als File oder in einen neue Variable?

Aber was hat das mit "variable = klasse(x, y, z)" zu tun und was bedeutet dies:
Zitat:
soll ich in mein werkzeug code eine arte platzhalter machen, oder wie soll ich die variablen aus den objekten ansprechen


Ich verstehe die Erklärung noch nicht. Vielleicht hilft es, wenn Du ein kleines Beispiel postest und eine Frage stellst.

Noch ein weitere Tipp: Die Standard-Groß/Kleinschreibung erleichtert das Lesen. Wenn man in einem Forum die Hilfe von anderen sucht, ist jede Erleichterung eine sehr gute Idee.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.03.2013, 22:56     Titel:
  Antworten mit Zitat      
ok gut., dass hier habe ich verstanden, ich kann die gewählten variablen abspeichern mit folgendem code
Code:
save datei.mat Formel1  Wert1  Wert2  Wert3  Wert4  Wert5   Wert6   Wert7 Param  id


ich glaube load geht äquivalent.
Code:
load datei.mat Formel1  Wert1  Wert2  Wert3  Wert4  Wert5   Wert6   Wert7 Param  id


doch wie schaffe ich es dass es gewarnt wird, sobald die datei vorhanden ist.
es soll nicht überschrieben werden.
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 30.03.2013, 09:50     Titel:
  Antworten mit Zitat      
Hallo,

wenn du mit Objekten arbeitest (ob du das tust, ist mir nicht 100%ig klar, aber da du das in das Forum "Objektorientierte Programmierung" geschrieben hast, gehe ich an sich davon aus), würde eben
Code:
save datei.mat objekt

reichen, da objekt dann alle benötigten Informationen enthält.

Sollten die Informationen nur als einzelne Variablen zur Verfügung stehen, kannst du deinen Ansatz wählen.

Mit uiputfile bekommst du einen Dialog zur Auswahl einer Datei, in die gespeichert werden soll, wie man das von Windows kennt. Da wird auch nachgefragt, wenn es die Datei schon gibt.
Alternativ kannst du mit exist selbst abprüfen, ob es eine Datei gibt.

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



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.04.2013, 10:30     Titel:
  Antworten mit Zitat      
Ich wollte eigentlich mit meinem Ansatz, dein Vorschlag programmieren.

Zitat:
Hallo,

wenn du mit Objekten arbeitest, ist doch das einfachste, die Daten direkt als Objekte dieser Klasse zu speichern und zu laden, mit save und load.

Wenn du eine Textdatei dieser Gestalt haben möchtest, würde ich mit fprintf (schreiben) und textscan (lesen) arbeiten. Der Aufwand ist da allerdings deutlich höher.


Es soll sich hierbei um Objekte handeln. Reicht der untenstehende Code aus
Code:

[filename, pathname] = uigetfile(...
    {'*.mat';'*.*'},'File Selector');
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 01.04.2013, 16:05     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
Ich wollte eigentlich mit meinem Ansatz, dein Vorschlag programmieren.


Ich weiß nun leider immer noch nicht, ob du objektorientiert arbeitest. Fragen wir mal anders: kommt in deinem Code irgendwo classdef vor?

Zitat:
Reicht der untenstehende Code aus

... um was zu erreichen?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 02.04.2013, 11:08     Titel:
  Antworten mit Zitat      
Hallo,

Lauten Deine Variablennamen wirklich "Wert1 Wert2 Wert3..."? Oder ist das nur eine Vereinfachung für das Forum?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.04.2013, 22:26     Titel:
  Antworten mit Zitat      
Zur Vereinfachung gedacht..
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.04.2013, 16:45     Titel:
  Antworten mit Zitat      
hallo jan, wolltest du hier noch was ergänzen oder warum hast du die frage mit der vereinfachung gefragt
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite 1, 2  Weiter

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.