Ich verwende Windows 7 64-Bit. Jedes Mal, wenn ich die Plotfunktion verwende, werden Plotfenster erfolgreich angezeigt und gezeichnet, aber danach reagiert es nicht mehr und muss heruntergefahren werden.
Zum Beispiel :
x = linspace(0,1,10)
y = x.^2
plot(x,y);
Seltsamerweise reagieren Plotfenster, wenn sie einfrieren und ich Oktavfenster schließen muss, auch nicht mehr. Dies wird nicht passieren, wenn ich keine Plotfunktion verwende.
Ich weiß nicht warum. Liegt es daran, dass ich eine 64-Bit-Version verwende? Bitte sagen Sie mir, wie ich das beheben kann.
Wie Assad Ebrahim schrieb, liegt das Problem beim Toolkit. Ich habe ein anderes Problem in Version 3.8.2. dass der Gnuplot überhaupt nicht funktioniert hat. Es wurden keine Plotfenster angezeigt und ich musste Octave schließen. Wenn jemand das gleiche Problem hat, besteht die Lösung darin, gnuplot herunterzuladen und im Octave-Ordner zu installieren. Es ersetzt den alten Gnuplot und der neue funktioniert.
Und ich danke Ihnen für den Rat.
quelle
Oh. Mein Freund zeigt mir diesen Befehl und es funktioniert gut:
pkg rebuild -noauto oct2mat
Der Befehl installiert das Paket neu, markiert es jedoch so, dass es beim Start nicht standardmäßig geladen wird. Dieses Verhalten wurde jetzt geändert und neue Versionen von Forge-Paketen werden standardmäßig NICHT geladen.
Das Problem ist, dass das Paket oct2mat niemals geladen werden sollte. Es beschattet mehrere Funktionen des Octave-Kerns, so dass es sich merkwürdig verhält. Wenn Sie dieses Paket nicht wirklich benötigen, sollten Sie es einfach entfernen.
Der Zweck von oct2mat besteht darin, das Fehlen fehlender Funktionen in Matlab auszugleichen und Code für Octave in Matlab auszuführen. Wenn Sie oct2mat nicht benötigen, entfernen Sie es. Niemand muss alle Pakete installieren, und es kann Ihre Octave-Installation sogar verschlechtern, wie im Fall von oct2mat.
quelle
pkg
und die Oktave sagt nurno such file or directory
.Bei Windows hat das bei mir funktioniert:
Schritt 1: Installieren Sie gnuplot auf
C:\Program Files (x86)\gnuplot
:Download-Link:
Schritt 2: Gehen Sie zum unten angegebenen Verzeichnis (vorausgesetzt, Sie haben Octave in C: \ root installiert):
Öffnen Sie die
octaverc
Datei, die in diesem Verzeichnis im Editor vorhanden ist.Schritt 3:
Fügen Sie am Ende der Datei die folgenden Zeilen hinzu.
gnuplot_binary 'C:\Program Files (x86)\gnuplot\bin\gnuplot.exe' graphics_toolkit('gnuplot')
Schritt 4:
Speichern Sie die Datei und beenden Sie den Editor. Wenn
Octave
es geöffnet ist, schließen Sie es bitte auch.Schritt 5:
Öffnen Sie den
Octave
folgenden Befehl und geben Sie ihn ein, um ihn zu überprüfen:plot([1,2,3],[4,5,6]);
quelle
Die Antwort von Assad ist absolut richtig und hat auch für mich gut funktioniert.
Dies ist nur ein Ausnahmefall.
Nachdem Sie die Octave-Befehlszeile eingegeben haben:
graphics_toolkit
Wenn die Antwort
qt
stattdessen lautetfltk
, muss Ihr PC wahrscheinlich getrennt von SourceForge gnuplot installiert werden, da Octave bei der Installation in W8 / 10 einige Fehler erhält.Hier ist der Link beigefügt. https://sourceforge.net/projects/gnuplot/?source=directory
Sie müssen keine Installationsdateien ändern.
Das sollte funktionieren
quelle
Als ich zum ersten Mal das Zeichnen eines Beispieldiagramms getestet habe, wurde das Diagrammfenster angezeigt, es wurde jedoch ein bis zwei Minuten lang nicht reagiert. Dann wurde das Diagramm angezeigt. Weitere Handlungen erschienen sofort. Betriebssystem: Windows 7 64-Bit Octave 4.0.3 64-Bit.
quelle
Ich habe ähnliche Symptome bei Verwendung von Oktave 4.2 beim Ausführen Ihres Codes (Plotfenster können nicht geschlossen werden, es dauert einige Zeit, bis der Plot angezeigt wird). Wenn Anweisungen nicht mit einem Semikolon (;) enden, werden Befehl und Ergebnis im Befehlsfenster gedruckt. Mir scheint, dass das Befehlsfenster die Interpretation des Codes anhält und darauf wartet, dass der Benutzer eine gültige Taste (f, b, q) drückt, um die Ausführung zu beenden oder abzubrechen. Der Haltepunkt hängt vom zuvor ausgeführten Code und der Größe des Befehlsfensters ab, daher die intermittierende Natur dieser Symptome.
Lösung:
Option 1: Gehen Sie zum Befehlsfenster und halten Sie f (vorwärts) gedrückt.
Option 2: Verwenden Sie Semikolon, um Anweisungen zu beenden
x = linspace(0,1,10); y = x.^2; plot(x,y);
Option 3: Spielen Sie mit einigen Einstellungen des Befehlsfensters
Ich hoffe es hilft
quelle
Ich hatte das gleiche Problem in Version 4.0.3 und das Umschalten des Standard-Toolkits auf Gnuplot, wie Assad Ebrahim sagte , funktionierte bei mir nicht. Dann finde ich etwas in Octave für Microsoft Windows :
Außerdem finden Sie Anweisungen zum Herunterladen und Installieren von gnuplot. Hoffe es ist hilfreich für dich.
quelle
Das Folgende ist eine Lösung für das Einfrieren von Plotfenstern, wenn Octave in Emacs ausgeführt wird. Dies wird John Lawrence Aspden und user2699 aus der Frage gutgeschrieben, wie Octaves Plot unter Emacs funktioniert. . Es wurde hierher gebracht, weil diese Frage viel einfacher zu finden ist.
Das Problem könnte durch Emacs Oktave-Modus des verursacht werden
--no-line-editing
Schalter, können Sie es beheben , indem SieM-x customize-variable RET inferior-octave-startup-args RET
und ändern--no-line-editing
zu--line-editing
.quelle
Ich hatte das gleiche Problem. Manchmal zeigt linspace Ihnen alle Ergebnisse in Befehlsfenstern an und wartet auf Ihre Interaktion.
Lösung
;
Nach Befehl hinzufügen oder drückenq
, um im Befehlsfenster zu beendenx = linspace(0,10,100);
Verwandte Frage
Die Ausführung im GUI-Befehlsfenster kann nicht gestoppt werden
quelle