Starten Sie die Anwendung von Matlab

9

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.

    
Ailurus 01.12.2011, 11:43
quelle

3 Antworten

3

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)

Ailurus 03.12.2011, 13:35
quelle
0

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.

    
Chenming Zhang 05.10.2014 23:41
quelle
0

Sie können die LD_LIBRARY_PATH Variable in Ihrem Systemaufruf tatsächlich löschen, wie folgt:

%Vor%

(Beachten Sie, dass dies höchstwahrscheinlich von der Befehlssyntax der Shell abhängt, die von MATLAB intern gestartet wird. Das obige sollte für Bash funktionieren.)

    
onnodb 20.02.2015 11:13
quelle

Tags und Links