Ich suche nach einer Möglichkeit, eine Anwendung von Matlab aus zu starten. Die Sache ist, mein Matlab-Skript speichert einige Ergebnisse in einer Datei, die dann in der zugehörigen Anwendung (in diesem Fall Blender) geöffnet werden sollte.
Ich kenne Befehle wie
%Vor%oder
%Vor%und einige andere Möglichkeiten, aber die Sache ist, die Anwendung wird mit Matlab PATH gestartet, so dass es im Matlab-Verzeichnis nach allen Arten von Bibliotheken sucht, die es benötigt. Zum Beispiel:
%Vor%Gibt es eine Möglichkeit, eine Anwendung zu starten, die den globalen (System-) PATH verwendet?
Vor einem Moment dachte ich, ich hätte eine Optimierung gefunden, nämlich ein Terminal aus Matlab mit einigen Argumenten (Blender dateiname.blend) zu starten.
%Vor%Das hat ein paar Mal funktioniert, aber jetzt bekomme ich Fehler, nachdem ich diesen Befehl 20 mal oder so ausgeführt habe ...
%Vor%Ich benutze übrigens Arch Linx.
Bearbeiten :
Nun, ich dachte nur an eine ziemlich schmutzige Lösung. Matlab verwendet die Umgebungsvariable
%Vor%Für die Pfade zu den notwendigen Bibliotheken:
%Vor%So könnte ich diese Informationen in einer Variablen speichern (z. B. MatlabPath ):
%Vor%und dann bevor ich blender anrufe tue dies:
%Vor%Was macht Matlab meine Systembibliotheken verwenden. Nachdem Sie das Programm gestartet haben, ordnen Sie den alten Wert erneut LD_LIBRARY_PATH zu:
%Vor%Also ... es ist eine Lösung, aber wenn jemand einen saubereren Weg zur Lösung des Problems kennt, lassen Sie es mich wissen.
Wie ich oben in meinem Edit angedeutet habe, könnte dies eine Lösung sein:
%Vor%Mit der anderen Möglichkeit, eine Anwendung zu starten, können Sie jedoch sofort zu Matlab zurückkehren, nachdem Sie es gestartet haben:
%Vor%Das kaufmännische Und ( & amp; ) ist der Schlüssel, um nach dem Start der Anwendung sofort zu Matlab zurückzukehren, aber wenn ich Blender auf diese Weise starte, kann ich keinen variablen Dateinamen wie system ( ...) .
Also, jeder hat eine Ahnung wie man
Verwenden Sie ! program_name mit einem variablen Dateinamen
oder
verwenden Sie system (programmname) mit einer Option, so dass Matlab die Anwendung nur startet (und nicht mit der Rückkehr wartet, bis die Anwendung geschlossen wurde)
Führen Sie einfach den Befehl in MATLAB aus:
setenv ('LD_LIBRARY_PATH', [getenv ('PATH') getenv ('LD_LIBRARY_PATH')])
Es hängt die matlab-Bibliothek in der Systembibliothek an.