web-dev-qa-db-fra.com

La fenêtre de tracé ne répond pas

J'utilise Windows 7 64 bits. Chaque fois que j'utilise la fonction de tracé, la fenêtre de tracé affiche et dessine avec succès, mais après cela, elle cesse de répondre et doit être fermée.

Par exemple :

x = linspace(0,1,10)
y = x.^2
plot(x,y);

Étrangement, lorsque les fenêtres d’intrigue se figent et que je dois fermer des fenêtres d’octave, elles ne répondent pas non plus. Cela n'arrivera pas si je n'utilise pas la fonction de tracé.

Je ne sais pas pourquoi. Est-ce parce que j'utilise la version 64 bits? S'il vous plaît dites-moi comment résoudre ce problème.

66
hqt

Oh. Mon ami me montre cette commande et cela fonctionne bien: 

pkg rebuild -noauto oct2mat

La commande réinstalle le package, mais le marque de ne pas se charger par défaut au démarrage. Ce comportement a maintenant été modifié et les nouvelles versions des packages Forge NE se chargeront PAS par défaut.

Le problème est que le paquet oct2mat ne devrait jamais être chargé. Il ombrage plusieurs fonctions du noyau Octave, ce qui le rend bizarre. À moins que vous n'ayez vraiment besoin de ce paquet, il vaut mieux le supprimer.

Oct2mat a pour but de compenser le manque de fonctions manquantes dans Matlab et de rendre le code écrit pour l'exécution d'Octave dans Matlab. Si vous n'avez pas besoin d'oct2mat, supprimez-le. Personne n’a besoin de l’installation de tous les paquets, et cela peut aggraver l’installation d’Octave , comme dans le cas d’oct2mat.

13
hqt

Le problème est probablement la boîte à outils graphiques utilisée par votre installation d'Octave.

Pour vérifier cela, tapez graphics_toolkit dans la ligne de commande Octave. 

Si la réponse est fltk et que votre fenêtre de tracé est gelée, alors changez le toolkit par défaut en gnuplot: graphics_toolkit('gnuplot')

Vérifiez que le problème est résolu: x=1:10; y=x.^2; plot(x,y)

Rendez la modification permanente dans votre fichier octave.rc, situé dans votre répertoire d'installation Octave: 

    On Windows:  \Octave\share\octave\site\m\startup\octaverc
    On Linux:     ~/.octaverc


Ne fonctionne toujours pas?

  • Si la réponse est qt, essayez soit fltk, soit gnuplot (l'une peut être plus rapide que l'autre).

  • Si ce qui précède ne fonctionne pas, vous devrez peut-être installer/réinstaller gnuplot . (merci à lukas et saurabh pour cette affaire Edge).

119
Assad Ebrahim

Comme Assad Ebrahim l'a écrit, le problème vient de la boîte à outils. J'ai un autre problème dans la version 3.8.2. que le gnuplot ne fonctionnait pas du tout. Aucune fenêtre d'intrigue n'a été montrée et j'ai eu besoin de fermer Octave Si quelqu'un a le même problème, la solution consiste à télécharger gnuplot et à l'installer dans le dossier Octave. Il remplace l'ancien gnuplot et le nouveau fonctionne.

Et je vous remercie pour le conseil.

14
lukas

Donc sur windows, cela a fonctionné pour moi:

Étape 1: Installez gnuplot dans C:\Program Files (x86)\gnuplot:

Lien de téléchargement: 

https://sourceforge.net/projects/gnuplot/

Étape 2: Allez au-dessous du répertoire indiqué (considérant que vous avez installé Octave dans C:\root): 

C:\Octave\share\octave\site\m\démarrage

ouvrir le fichier octaverc présent dans ce répertoire dans le Bloc-notes.

Étape 3:

Ajoutez les lignes suivantes à la fin du fichier.

gnuplot_binary 'C:\Program Files (x86)\gnuplot\bin\gnuplot.exe'
graphics_toolkit('gnuplot')

Étape 4:

Enregistrez le fichier et quittez le Bloc-notes. Si Octave est ouvert, fermez-le également.

Étape 5:

Ouvrez Octave et tapez la commande suivante pour vérifier:

plot([1,2,3],[4,5,6]);

Veuillez noter que pour la première fois, cela peut prendre gnuplot jusqu'à 5 minutes rendre le graphique. Alors, s'il vous plaît, n'essayez pas de fermer l'application. Subséquent les tracés simples rendent assez rapidement, généralement en moins d'une seconde.

10
Anubhav Gupta

Réponse donnée par Assad a absolument raison et a bien fonctionné pour moi aussi. 

Ceci est juste un cas d'exception.

Après avoir tapé la ligne de commande Octave: graphics_toolkit

Si la réponse est qt au lieu de fltk, votre ordinateur doit probablement être installé gnuplot séparément de SourceForge car Octave obtient des erreurs lors de son installation dans W8/10.

Voici le lien ci-joint . https://sourceforge.net/projects/gnuplot/?source=directory

Vous n'avez pas besoin de modifier les fichiers d'installation.

Cela devrait marcher

8
Saurabh

Lorsque j'ai testé pour la première fois le tracé d'un exemple de graphique, la fenêtre du graphique est apparue mais n'a pas répondu pendant une à deux minutes, puis le graphique est apparu. D'autres tracés sont apparus instantanément . O.S .: Windows 7 64 bits Octave 4.0.3 64 bits.

2
Tarik

Voici la solution pour geler la fenêtre de tracé lorsque exécutant Octave depuis Emacs, portant le crédit de John Lawrence Aspden et user2699 de la question Comment obtenir le tracé d’Octave sous emacs? . Il est apporté ici parce que cette question est beaucoup plus facile à trouver.

Le problème peut être causé par le commutateur --no-line-editing de Emacs octave-mode, vous pouvez le corriger avec M-x customize-variable RET inferior-octave-startup-args RET et changer --no-line-editing en --line-editing.

0
timokratia

J'ai des symptômes similaires en utilisant Octave 4.2 lors de l'exécution de votre code (impossible de fermer les fenêtres de tracé, le tracé prend du temps à apparaître). Lorsque les instructions ne se terminent pas par un point-virgule (;), la commande et le résultat sont imprimés dans la fenêtre de commande. Il me semble que la fenêtre de commande interrompt l'interprétation du code et attend que l'utilisateur appuie sur une touche valide (f, b, q) pour contourner ou annuler l'exécution. Le point d'arrêt dépend du code précédemment exécuté et de la taille de la fenêtre de commande, d'où la nature intermittente de ces symptômes.

Solution:

Option 1: Aller à la fenêtre de commande et continuer à appuyer sur f (avant)

Option 2: Utilisez un point-virgule pour terminer les instructions 

x = linspace(0,1,10);
y = x.^2;
plot(x,y);

Option 3: Fiddle avec certains paramètres de la fenêtre de commande

J'espère que ça aide

0
Mike

J'ai eu le même problème dans la version 4.0.3 et changer le toolkit par défaut en gnuplot comme Assad Ebrahim a dit n'a pas fonctionné pour moi. Ensuite, je trouve quelque chose dans Octave pour Microsoft Windows :

L’octave actuelle de Windows est fournie avec un gnuplot non complet . Par conséquent, vous ne pouvez pas utiliser toutes les fonctionnalités du toolkit gnuplot graphics.

Et il y a des instructions sur la façon de télécharger et d'installer gnuplot. J'espère que cela vous sera utile.

0
Xin W