74

Windows7 64ビットを使用しています。プロット機能を使用するたびに、プロット ウィンドウが表示され、正常に描画されますが、その後応答が停止し、シャットダウンする必要があります。

例えば ​​:

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

奇妙なことに、プロット ウィンドウがフリーズし、オクターブ ウィンドウを閉じなければならない場合、それらも応答しなくなります。プロット関数を使用しないと、これは発生しません。

どうしてか分かりません。64ビット版を使っているからでしょうか?これを修正する方法を教えてください。

4

10 に答える 10

130

問題は、Octave のインストールで使用しているグラフィック ツールキットにある可能性があります。

これを確認するgraphics_toolkitには、Octave コマンド ラインに入力します。

応答がfltkで、プロット ウィンドウがフリーズしている場合は、デフォルトのツールキットを gnuplot に切り替えますgraphics_toolkit('gnuplot')

問題が修正されたことをテストします。x=1:10; y=x.^2; plot(x,y)

Octave インストール ディレクトリにある octave.rc ファイルで、変更を永続的にします。

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


まだ動作していません?

  • 応答が の場合、 または のいずれかqtを試してください(一方が他方より速い場合があります)。fltkgnuplot

  • 上記がうまくいかない場合は、gnuplot をインストール/再インストールする必要があるかもしれません。(このエッジケースについて lukas と saurabh に感謝します)。

于 2014-09-08T21:22:46.477 に答える
13

おー。私の友人は私にこのコマンドを見せてくれました、そしてそれはうまくいきます:

pkg rebuild -noauto oct2mat

このコマンドはパッケージを再インストールしますが、起動時にデフォルトで読み込まれないようにマークします。この動作は現在変更されており、Forge パッケージの新しいリリースはデフォルトではロードされません。

問題は、パッケージ oct2mat が読み込まれないことです。それは、Octave コアのいくつかの機能を覆い隠すため、奇妙な動作を開始します。このパッケージが本当に必要でない限り、単に削除したほうがよいでしょう。

oct2mat の目的は、Matlab に不足している関数の不足を補い、Octave 用に記述されたコードを Matlab で実行できるようにすることです。oct2mat が必要ない場合は、削除してください。すべてのパッケージをインストールする必要はありません。oct2mat の場合のように、実際に Octave のインストールを悪化させる可能性があります。

于 2012-08-20T05:12:43.407 に答える
8

アサドの答えは絶対に正しく、私にとってもうまくいきました。

これは単なる例外ケースです。

Octave コマンドラインに入力した後:graphics_toolkit

答えがqtではなく、W8/10 に Octave をインストールする際にエラーが発生するため、SourceForge とは別にgnuplotfltkを PC にインストールする必要があります。

添付のリンクはこちらです。 https://sourceforge.net/projects/gnuplot/?source=ディレクトリ

インストール ファイルを変更する必要はありません。

これはうまくいくはずです

于 2016-06-29T08:53:28.087 に答える
2

サンプル グラフのプロットを最初にテストしたとき、グラフ ウィンドウは表示されましたが、1 ~ 2 分間応答しませんでした。その後、プロットが表示されました。さらなるプロットが即座に現れました。OS: Windows 7 64 ビット Octave 4.0.3 64 ビット。

于 2016-10-04T05:53:31.973 に答える
0

コードを実行するときにオクターブ 4.2 を使用して同様の症状があります (プロット ウィンドウを閉じることができません。プロットが表示されるまでに時間がかかります)。ステートメントがセミコロン (;) で終わらない場合、コマンドと結果がコマンド ウィンドウに出力されます。コマンド ウィンドウがコードの解釈を停止し、ユーザーが有効なキー (f、b、q) を押して実行を続行または中止するのを待つように思えます。停止ポイントは、以前に実行されたコードとコマンド ウィンドウのサイズに依存するため、これらの症状は断続的に発生します。

解決:

オプション 1: コマンド ウィンドウに移動し、f (進む) を押し続けます。

オプション 2: セミコロンを使用してステートメントを終了する

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

オプション 3: コマンド ウィンドウの設定をいじる

それが役に立てば幸い

于 2016-11-23T10:15:38.850 に答える