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

M-files zur Laufzeit erstellen und danach verwenden

 

lars friedrich

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.12.2007, 10:38     Titel: M-files zur Laufzeit erstellen und danach verwenden
  Antworten mit Zitat      
hallo,
ich habe folgendes problem:
ich habe ein paar ausgangs-dateien (enthalten differentialgleichungen). um diese ODEs auch für einen funktionsaufruf verwenden zu können, gebe ich mittels string-operationen einen passenden function-header dazu (es entsteht ein valides m-file) und kopiere diese neue datei dann in ein temporäres verzeichnis - dieses temporäre verzeichnis gebe ich auch zu den path-einträgen dazu, sodass matlab die erstellte funktion kennt.
das funktioniert auch, wenn ich beispielsweise ein skript aus dem matlab-command-window aufrufe, das das oben beschriebene macht. und dann SEPARAT ein anderes skript aufrufe, das diese neue funktion verwendet. wenn ich ALLERDINGS die beiden skripte kombiniere, also das m-file im gleichen skript erzeuge und anschließend verwenden will, dann geht das nicht! matlab sagt dann, dass es diese funktion nicht kennt. es scheint also so, als würde sich matlab "re-initialisieren" müssen oder so. aber wohl gemerkt: die path-variable ist verlässlich gesetzt und die datei existiert tatsächlich schon (nicht noch im write-buffer oder so). mein problem ist, dass das gleiche passiert, wenn es von einem mit GUIDE gestalteten GUI ausgeführt wird.

kennt jemand von euch das problem? mache ich etwas falsch? kann man matlab zu einem "re-initialize" oder "rescan" der in path angegebenen verzeichnisse genötigt werden?

ich wäre SEHR DANKBAR, wenn jemand etwas dazu sagen könnte ...

mfg lars


outsider
Forum-Meister

Forum-Meister


Beiträge: 806
Anmeldedatum: 03.09.07
Wohnort: München
Version: R2012b
     Beitrag Verfasst am: 13.12.2007, 11:39     Titel:
  Antworten mit Zitat      
Ich habe mal M-Files geschrieben die sich selbst überschreiben und starten lassen. Müsste vor dem start der "clear functions" verwenden.
In Deinem Falle käme möglicherweise auch dieses Commando in Frage
>> rehash toolboxcache

Schaue auch in der Doku nach Anonymous Function nach. Ich glaube es ist sicherer weg, statt die M-Files im Handarbeit zu erzeugen.

bsp:
>> a = @(x) x^2

a =

@(x)x^2

>> a(3)

ans =

9

>>

MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
Christoph

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.12.2007, 12:38     Titel:
  Antworten mit Zitat      
Es sollte reichen, nur die gerade generierte Funktion zu clearen und nicht gleich den Funktionscache komplett zu leeren.
 
lars friedrich

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.12.2007, 17:44     Titel: Danke
  Antworten mit Zitat      
vielen dank für die tipps.
rehash toolboxcache tut genau das was ich will, clear functions reicht leider nicht. danke nochmal und weiter frohes schaffen.
mfg lars
 
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.