|
|
|
Teilstrukturen mit load(?) nachladen |
|
| christian_2 |

Forum-Anfänger
|
 |
Beiträge: 29
|
 |
|
 |
Anmeldedatum: 16.04.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 16.04.2012, 15:03
Titel: Teilstrukturen mit load(?) nachladen
|
 |
| |
 |
|
Hallo zusammen,
ich arbeite hier mit einem Simulationsprogramm bei dem die Module mittels Strukturen bedatet werden.
Das Berechnen einer Teilstruktur ist z. T. sehr kompliziert, so dass dies mittels einzelner m-Dateien gemacht wird.
Beispiel:
Meine erste m-Datei erzeugt eine Struktur mit dem Namen:
Programm.Motor.xxx
und speichert nur diese Struktur in einer Datei 'Motordaten.mat' ab.
Meine zweite m-Datei erzeugt eine Struktur mit dem Namen:
Programm.Getriebe.xxx
und speichert nur diese Struktur in einer Datei 'Getriebe.mat' ab.
Auf diese Art bekomme ich z.B. 20 mat-Dateien. Jede Datei enthält einen Teil der Strukturvariablen 'Programm'.
Ich ging eigentlich davon aus, dass ich die 20 Dateien einfach nacheinander in den Workspace mittels des Befehls 'load' laden könnte, musste aber zu meinem Bedauern feststellen, dass Matlab bei Strukturvariablen anscheinend nur die oberste Hierarchie der Variablen bzgl des Names vergleicht. So denkt Matlab wohl, dass es den Variablennamen schon gibt und überschreibt diesen komplett.
Weiß jemand, wie ich meine mat-Dateien 'mergen' kann?
Vielen Dank schon mal für jede Antwort im Voraus!
|
|
|
|
|
|
| denny |

Supporter
|
 |
Beiträge: 3.853
|
 |
|
 |
Anmeldedatum: 14.02.08
|
 |
|
 |
Wohnort: Ulm
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 16.04.2012, 17:19
Titel:
|
 |
Hallo
mache doch einen Umweg,
lade nicht direkt die Variablen sondern indirekt:
Das kannst du dann dir eine Funktion daraus machen
PS: sinnvoller wäre vielleicht nicht das Programm rauszuschreiben sondern, Variablen Motor und Getriebe usw.
|
|
|
|
| christian_2 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 29
|
 |
|
 |
Anmeldedatum: 16.04.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 16.04.2012, 17:42
Titel:
|
 |
Hallo und vielen Dank für Deine Antwort!
Leider war das nicht das, was ich benötige. Nochmal ein konkreteres Beispiel:
% In 1. Datei 'Motor.mat' ist gespeichert:
Programm.Motor.Leistung_max = 100;
Programm.Motor.Hubraum = 2000;
% In 2. Datei 'Getriebe.mat' ist gespeichert:
Programm.Getriebe.Gaenge_Anzahl = 5;
Programm.Getriebe.Masse = 100;
Erhalten möchte ich folgende Strukturvariable:
Wenn ich Dein m-File ausführe, erhalte ich eine zweidimensionale Struktur.
Deine Idee mit dem Zwischenspeichern ist auf jeden Fall ein guter Anfang. Aber wie bekomme ich die zwei Variablen in einer Struktur 'vereint'?
Kannst Du mir noch einmal helfen?
Viele Grüße
Christian
|
|
|
|
| denny |

Supporter
|
 |
Beiträge: 3.853
|
 |
|
 |
Anmeldedatum: 14.02.08
|
 |
|
 |
Wohnort: Ulm
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 16.04.2012, 18:23
Titel:
|
 |
Okay dann ist wohl nicht so einfach als ich mir zuerst dachte
so:
Besser wenn du daraus eine Funktion machst
|
|
|
|
| denny |

Supporter
|
 |
Beiträge: 3.853
|
 |
|
 |
Anmeldedatum: 14.02.08
|
 |
|
 |
Wohnort: Ulm
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 16.04.2012, 18:52
Titel:
|
 |
Hallo noch mal
durch so eine Funktion kannst du deine Aufrufe vereinfachen, speichere diese unter "nachladen.m"
Aufruf wäre:
Funktion:
|
|
|
|
| christian_2 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 29
|
 |
|
 |
Anmeldedatum: 16.04.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 17.04.2012, 06:47
Titel:
|
 |
Einen wunderschönen guten Morgen!
Ich freue mich wie ein Schnitzel!!
Die Sache funktioniert genau so, wie ich das benötige. Herzlichen Dank für Deine Hilfe, ich hätte wahrscheinlich ewig gebraucht, bis ich das hinbekommen hätte, weil ich einige Befehle noch nicht wirklich kannte! Ich werde mir gleich mal die Hilfe durchlesen, so dass ich genau verstehen, wie die m-Datei funktioniert.
Also vielen Dank noch einmal und viele Grüße aus München!
Christian
|
|
|
|
|
|
|
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.
|
|