Windows 7 64ビットを使用しています。プロット関数を使用するたびに、プロットウィンドウは正常に表示および描画されますが、その後は応答を停止し、シャットダウンする必要があります。
例えば :
x = linspace(0,1,10)
y = x.^2
plot(x,y);
奇妙なことに、プロットウィンドウがフリーズし、オクターブウィンドウを閉じる必要がある場合、それらも応答しなくなります。プロット機能を使用しない場合、これは起こりません。
理由はわかりません。 64ビットバージョンを使用しているからですか?これを修正する方法を教えてください。
ああ。私の友人は私にこのコマンドを示し、それはうまく動作します:
pkg rebuild -noauto oct2mat
このコマンドはパッケージを再インストールしますが、起動時にデフォルトでロードしないようにマークします。この動作は現在変更されており、Forgeパッケージの新しいリリースはデフォルトではロードされません。
問題は、oct2matパッケージをロードしてはならないことです。 Octaveコアのいくつかの機能を隠すため、奇妙な動作を開始します。このパッケージが本当に必要でない限り、単に削除する方が良いでしょう。
Oct2matの目的は、Matlabに不足している関数がないことを補い、Octave向けに記述されたコードをMatlabで実行することです。 oct2matが必要ない場合は、削除してください。すべてのパッケージをインストールする必要はありません。実際には octaveのインストールを悪化させる oct2matの場合のように。
問題は、Octaveのインストールで使用しているグラフィックツールキットである可能性があります。
これを確認するには、Octaveコマンドラインにgraphics_toolkit
と入力します。
応答が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
の場合、fltk
またはgnuplot
のいずれかを試してください(一方が他方よりも速い場合があります)。
上記が機能しない場合は、 gnuplotのインストール/再インストール が必要になる場合があります。 (このEdgeケースのlukasとsaurabhに感謝します)。
Assad Ebrahimが書いたように、問題はツールキットにあります。バージョン3.8.2で別の問題が発生しました。 gnuplotがまったく機能しなかったこと。プロットウィンドウが表示されず、Octaveを閉じる必要がありました。誰かが同じ問題を抱えている場合、解決策はgnuplotをダウンロードしてOctaveフォルダにインストールすることです。古いgnuplotを置き換え、新しいgnuplotが機能しています。
そして、アドバイスをありがとう。
だから、Windowsでは、これは私のために働いた:
ステップ1:gnuplotをC:\Program Files (x86)\gnuplot
にインストールします:
ダウンロードリンク:
ステップ2:指定されたディレクトリの下に移動します(C:\ルートにOctaveをインストールしたと考えてください):
C:\ Octave\share\octave\site\m\startup
メモ帳でそのディレクトリにあるoctaverc
ファイルを開きます。
ステップ3:
ファイルの最後に次の行を追加します。
gnuplot_binary 'C:\Program Files (x86)\gnuplot\bin\gnuplot.exe'
graphics_toolkit('gnuplot')
ステップ4:
ファイルを保存して、メモ帳を終了します。 Octave
が開いている場合は、閉じてください。
ステップ5:
Octave
を開き、次のコマンドを入力して確認します。
plot([1,2,3],[4,5,6]);
グラフをレンダリングするのに
gnuplot
最大5分かかる場合があることに注意してください。そのため、アプリを閉じないでください。その後の単純なプロットは、通常1秒未満で非常に高速にレンダリングされます。
Assadからの回答 は絶対に正しいもので、私にとってもうまくいきました。
これは例外ケースです。
Octaveコマンドラインを入力した後:graphics_toolkit
答えがqt
ではなくfltk
の場合、おそらくOctaveが取得するSourceForgeとは別にPCをインストールする必要がありますgnuplot W8/10でのインストール中にエラーが発生しました。
こちらがリンクです。 https://sourceforge.net/projects/gnuplot/?source=directory
インストールファイルを変更する必要はありません。
これは動作するはずです
サンプルグラフのプロットを最初にテストしたとき、グラフウィンドウは表示されましたが、1〜2分間応答しなかった後、プロットが表示されました。さらなるプロットが即座に現れました。 O.S .: Windows 7 64ビットOctave 4.0.3 64ビット。
以下はEmacs内からOctaveを実行中で、 John Lawrence Aspden および ser2699 からの質問 Octaveのプロットをemacsの下で動作させるには? 。この質問は見つけやすいので、ここに持ってきました。
この問題はEmacsオクターブモードの--no-line-editing
スイッチが原因である可能性があります。M-x customize-variable RET inferior-octave-startup-args RET
で修正し、--no-line-editing
を--line-editing
に変更できます。
コードの実行時にオクターブ4.2を使用すると、同様の症状が現れます(プロットウィンドウを閉じることができません。プロットの表示に時間がかかります)。ステートメントがセミコロン(;)で終わらない場合、コマンドと結果はコマンドウィンドウに出力されます。コマンドウィンドウがコードの解釈を停止し、ユーザーが有効なキー(f、b、q)を押して実行を中断または中止するのを待つことはわかりました。停止ポイントは、以前に実行されたコードとコマンドウィンドウのサイズ、したがってこれらの症状の断続的な性質に依存します。
解決策:
オプション1:コマンドウィンドウに移動し、fを押し続ける(進む)
オプション2:セミコロンを使用してステートメントを終了する
x = linspace(0,1,10);
y = x.^2;
plot(x,y);
オプション3:Fiddleといくつかのコマンドウィンドウ設定
それが役に立てば幸い
バージョン4.0.3でも同じ問題があり、デフォルトツールキットをgnuplotに切り替えると Assad Ebrahim氏 が機能しませんでした。次に、 Microsoft WindowsのOctave で何かを見つけます:
Windows用の現在のオクターブには、フル機能ではないgnuplotが含まれています。したがって、gnuplotグラフィックツールキットのすべての機能を使用することはできません
そして、gnuplotをダウンロードしてインストールする方法の説明があります。お役に立てば幸いです。