7
votes

Obtenir une octave à tracer en invoquant une fonction de la ligne de commande

J'essaie d'exécuter une fonction dans octave de la ligne de commande. La fonction est actuellement exécutée comme suit:

octave --Silent --persist --Eval 'fonction (arguments d'entrée)'

fonction.m contient une commande tracé . Lorsque j'invoque octave avec les paramètres de la ligne de commande ci-dessus, l'intrigue montre mais Octave entre dans son mode interactif. Ma question est la suivante:

Y a-t-il un moyen d'obtenir Octave d'afficher l'intrigue sans entrer dans le mode interactif lorsqu'il est appelé à partir de la ligne de commande?


1 commentaires

Pour d'autres options, consultez Ce .


6 Réponses :


4
votes

AFAIK, la fenêtre de la parcelle est un processus d'enfant d'octave et il ne peut être affiché que lorsque Octave est en cours d'exécution. Même si vous tracez quelque chose du mode "interactif", laissez l'intrigue ouverte et fermez Octave, la parcelle disparaîtra également.
Ce que vous pouvez faire est de comploter à certains fichiers de sortie comme posté ici A>:

f = figure
set(f, "visible", "off")
plot([1,2,3,4])
print("MyPNG.png", "-dpng")


2 commentaires

Vous dites donc qu'il n'y a aucun moyen d'afficher l'intrigue sans entrer dans le mode interactif?


@Sriram aussi loin que je sais qu'il n'y a aucun moyen. Mais je n'ai trouvé aucune documentation qui indique clairement que ...



2
votes

Le problème est que lorsque vous exécutez à partir de la ligne de commande, lorsque cela se termine, les fenêtres de la parcelle disparaissent avec elle.

pause


0 commentaires

12
votes

Il suffit d'utiliser pause après vos fonctions de traçage


1 commentaires

C'est une excellente astuce pour donner au programme la queue et le temps de visualiser les instructions de traçage à l'intérieur de la figure, avant d'entrer dans les instructions supplémentaires (ce qui peut rendre la visualisation difficile). J'ai utilisé la variante pause (n) où n est le nombre de secondes à attendre: dans mon cas 0,1 servi le but parfaitement,



3
votes

Vous devez sélectionner une boîte à outils graphique appropriée: xxx

la valeur par défaut est fltk qui ne peut pas écrire dans le fichier sans afficher la parcelle. Toutefois, si vous sélectionnez gnuplot , il sera capable d'écrire dans le fichier sans l'afficher en premier. Dans votre fichier, commencez par: xxx


0 commentaires

8
votes

Vous pouvez utiliser: xxx

à la fin, ce qui vous attend de fermer la figure.


1 commentaires

Cela devrait être une réponse réelle. "Waitfor (Figure)" Attendra l'exécution du script jusqu'à ce que la fenêtre de tracé soit fermée, le processus d'octave restera donc en vie.



1
votes

peut aussi essayer d'attendre la clé.

tandis que (waitforbuttonpress () == 0) Pause (1) fin


1 commentaires

Bonjour, cet article ne semble pas fournir un réponse de qualité à la question. Veuillez éditer votre réponse et l'améliorer, ou simplement le poster comme un commentaire à la question / autre réponse.