|
|
Variablenverwaltung in Matlab |
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 11.08.2009, 09:41
Titel: Variablenverwaltung in Matlab
|
 |
Guten Morgen liebe Matlabgemeinde,
ich hätte mal ne Frage zur Variablenverwaltung. Hab auch schon nachgelesen, allerdings nix genau über mein Problem gefunden.
Ist es denn möglich in einem m-file direkt Variablen vom Typ single zu benutzen? Kleines Beispiel dazu.
Ich habe im Workspace eine beliebige Variable, angenommen ones(2,2) vom Typ single.
Nun Kopiere ich den Inhalt dieser Matrix in mein m-file, sieht dann z.B. so aus
Wenn ich nun das m-file ausführe wird mir natürlich die neue Variable 'Beispiel' im Workspace erzeugt, allerdings ist diese dann vom Typ double. Kann ich das vermeiden ohne dass ich im m-file selbst der Variablen 'Beispiel' den Typ single zuweise?
Ich hoff das war jetzt ansatzweise verständlich
|
|
|
|
|
Titus |

Forum-Meister
|
 |
Beiträge: 871
|
 |
|
 |
Anmeldedatum: 19.07.07
|
 |
|
 |
Wohnort: Aachen
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 11.08.2009, 11:36
Titel:
|
 |
Hallo,
hmm, "ohne dass ich im m-file selbst der Variablen 'Beispiel' den Typ single zuweise?" ? Irgendwie musst Du doch das MATLAB mitteilen, dass Du lieber singles hättest. Was ist denn an
so schlimm?
Titus
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 11.08.2009, 11:42
Titel:
|
 |
Hi,
genau da liegt das Problem.
Auf diese Art ist das ja die "normale" Vorgehensweise.
Jedoch hab ich sehr starke Einschränkungen in der vorhandenen Speichergröße und meine Matrizen sind leider nicht wie in diesem Beispiel klein, sondern haben eher ca. 300000 Einträge. Da kommt dann leider ein m-file dabei raus, das den bereitgestellten Speicherbedarf übersteigt.
Deswegen würde ich die Daten gerne direkt im m-file als single vorliegen haben und nicht erst nach der Ausführung im Workspace.
|
|
|
steve |

Ehrenmitglied
|
 |
Beiträge: 2.029
|
 |
|
 |
Anmeldedatum: 03.09.07
|
 |
|
 |
Wohnort: Wien
|
 |
|
 |
Version: R2024a
|
 |
|
|
 |
|
Verfasst am: 11.08.2009, 12:04
Titel:
|
 |
Moin,
schreibst du die Matrizen "plain" in das m-file?! Bei 30000 Werten kopierst du die sicher von irgendwo (aus anderen Files), oder? Wenn dem so ist, dann kannst du diese doch auch direkt einlesen und umwandeln, oder nicht? Als Alternative, wenn du die "plain" im Quellcode hast, dann kannst du die auch nacheinander im cmd einlesen, umwandeln und dann als .mat-file abspeichern. Dieses kannst du dann im m-file einlesen und hast die Matrix gleich so vorliegen, wie du sie haben möchtest.
Oder habe ich da etwas komplett falsch verstanden?!
Gruß
Alex
_________________
>> I told me to.
____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 11.08.2009, 13:52
Titel:
|
 |
|
 |
|
Hi Steve,
eigentlich wäre das was du beschreibst auch die Art wie ich das machen würde.
Jedoch muss das m-file später in einen embedded MATLAB block in einem Simulinkmodell eingefügt werden.
Dort hab ich dann aber ein Problem wenn ich das so machen. Ich müsste mir dann erst die Matrizen aus dem base Workspace holen und in die function ziehen. Dann hab ich sie ein mal gespeichert.
Da ich aber mit einem mxArray (in diesem Format holt sich embedded MATLAB die Matrix aus dem Workspace) nicht arbeiten kann, muss ich mir nochmal eine Matrix mit den gleichen Abmessungen erzeugen und dieser die gleichen Werte zuweisen wie sie in der ursprünglichen Matrix stehen.
Heißt aber im Umkehrschluss, dass ich den doppelten Speicher benötige, da ich eben die gleiche Matrix 2x speichern muss.
Und genau das wollte ich umgehen. Ich hoffe du verstehst mein Problem jetzt etwas besser. Deswegen hab ich die Variablen auch 'plain' in dem m-file stehen. D.h. beim ersten Durchlauf werden die Matrizen erzeugt und sind beim zweiten durchlauf direkt verfügbar, da ihr Inhalt über eine 'persistent' definition im Speicher behalten wird.
|
|
|
|
|
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.
|
|