|
|
|
DRINGEND !!! M-FILE AUFRUF !! |
|
| Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 22.10.2011, 16:52
Titel: DRINGEND !!! M-FILE AUFRUF !!
|
 |
Hallo Leute ich brauch dringend Hilfe!
Um ein extrem großes Matlab m.file zu verkleiner, hab ich eine so genannte main.m geschrieben die jetzt einzelne M-files aufrufen soll!!!
Nur wie mache ich das richtig ? ich probiere schon den ganzen nachmittag an matlab herum, nur Fehlermeldungen!
1. Ich habe nur den Dateinamen eingegeben (mit .m Endung und ohne)
2. ich habe den load befehl probiert. Load Datei.m und Load datei
3. ich hab den kompletten Pfad eingegeben usw. aber es funktioniert nicht
Wo ist der Fehler ? was muss ich beachten ? Die datein liegen alle im selben order (=selber Pfad) auf dem Desktop!
|
|
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 22.10.2011, 17:11
Titel:
|
 |
Hallo,
bitte die Fehlermeldungen angeben.
"load" ist im Zusammenhang mit .m-Dateien absolut sinnlos. Ebensowenig ist eine Angabe von Verzeichnissen notwendig, wenn alle Dateien im momentanen Verzeichnis liegen.
Wenn es sich um ein Skript (keine Ein- und Ausgabeargumente) handelt, wird es durch Angabe des Dateinamen (ohne .m) aufgerufen.
Wenn es sich um eine Funktion mit Ein- und Ausgabeargumenten handelt, müssen diese auch übergeben werden.
Für weitere Unterstützung müsstest du mehr Code zur Verfügung stellen. Ich schlage aber auch mal vor, dass du dich in der Doku mal gründlich in scripts und functions einliest.
Grüße,
Harald
|
|
|
|
| Checker |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 23.10.2011, 09:30
Titel:
|
 |
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 23.10.2011, 10:42
Titel:
|
 |
Hallo,
RUN ist lediglich dann von Nutzen, wenn es sich um Skripte handelt und diese sich weder im momentanen Verzeichnis noch im MATLAB-Suchpfad befinden.
Grüße,
Harald
|
|
|
|
| Matt Lappen |

Forum-Anfänger
|
 |
Beiträge: 42
|
 |
|
 |
Anmeldedatum: 23.10.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 23.10.2011, 18:00
Titel:
|
 |
Ich würde die einzelnen m-Files als function (Funktions-Header) definieren und die notwendigen Variablen an die entsprechenden Funktionen übergeben, bei großer Anzahl von Variablen am besten mit Struct-Arrays arbeiten.
Der Vorteil dabei ist, dass nicht alle Variablen im base-Workspace liegen, sondern immer im funktionseigenen caller-Workspace berechnet werden.
Somit lässt sich definitiv Laufzeit einsparen, da du einen deutlich schlankeren Datensatz im Base-WS hast.
Die Funktionen können Variablen als Übergabeparameter haben oder auch mittels assignin('base', 'var', val) auch wieder in den Base-WS geschrieben werden.
Dann in einem bekannten Matlabpfad abspeichern und von deinem Skript aus aufrufen.
Der run-Befehl sollte zwar funktionieren, aber bzgl Laufzeit nichts nutzen. Einfach mal die großen Variablen mittels clear selektiv aus dem WS entfernen, kann auch schonmal Wunder wirken...
|
|
|
|
|
|
|
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.
|
|