2009-09-17 10 views
13

パスに新しいファイルを追加すると、MATLABを再起動する必要があります。そうしないと、ファイルが検出されません。これには別の方法が必要です!MATLABパスを更新するにはどうすればよいですか?

+0

どのファイルシステムを使用していますか? Matlabはファイルシステムの変更トラッキングを利用して、変更があったときに通知します。 –

+0

NTFS(Windowsの場合) – Lucas

答えて

8

同様の問題が発生しました(ファイルを変更するとMatlabはそれに気付きません)。残念ながら、私はそれが何を引き起こすのか、どのように解決するのかは分かりません。私は通常、CLEAR ALLが問題を解決しているが、作業領域内のすべての変数をクリアしていることに注意してください。いくつかの 'REHASH'コマンド(例えば、REHASH TOOLBOXRESET)も有用かもしれません。

私はより良い答えを見たいと思っています。私が出会ったすべての文書は、これが起こり得ないことを示しているようです。

+1

ファイルがmatlab/toolboxディレクトリの下にない場合は、rehashまたはrehash( 'path')で十分です。 –

+1

これはドキュメントの内容です。しかし、REHASH TOOLBOXRESETが実行している間は、ツールボックスのディレクトリにファイルがなくても、REHASHが機能しなくなったことを覚えています。私はいつも後者のオプションを使用していたので、コストは非常に小さいようです(両方のコマンドがすぐに戻ります)。 –

3

これは、Matlabが起動時に特定のファイルをキャッシュしてパフォーマンスを向上させる場合に問題になる可能性があります。これは、特定のディレクトリ内のファイルで発生します。パスコマンドのMatlabのヘルプから

注意(...)はまた、matlabroot/toolboxディレクトリツリー内のファイルの位置は、各MATLABの最初にメモリにロードされ、キャッシュされることに注意してくださいパフォーマンスを向上させるセッション。外部エディタを使用してファイルをmatlabroot/toolboxディレクトリに保存するか、ファイルシステム操作を使用してこれらのディレクトリにファイルを追加または削除する場合は、現在のセッションでファイルを使用する前にrehash toolboxを実行します。外部エディタを使用してmatlabroot/toolboxディレクトリにある既存のファイルを変更する場合は、現在のセッションでファイルを使用する前にclear functionnameを実行してください。詳細については、MATLABデスクトップツールで焼き直しのリファレンスページまたはツールボックスパスキャッシュのトピックを参照してくださいと開発環境のドキュメント

2

私は、多くの場合、これはネットワーク上のファイルの場所で起こる見てきました。私はそのメカニズムを理解していませんが、間違いなく起こります。

path(path); 

か、それはそれを拾うために失敗した場合、これを試してください:頻繁に機能するソリューション(NBを、このワークスペースをクリアします)

clear classes; 
path(path); 

私たちは、そんなにこの最後の1をやりました

shazaam; 

はい、私の年齢が表示されます。

2

「再ハッシュ」機能が必要な場合や、「パス(パス)」などを使用してパスを再設定する必要がある場合。また、 "フリーズ"パスを使用しているかどうかによっても異なります。 ADDPATHのヘルプを見てください。

MATLABは、変更したことを知らない限り、コンパイルされたM-ファイルのキャッシュされたコピーを保持します。ファイルを作成したか、またはMATLAB外で編集した場合は、ファイルが変更されたことがわかりません。

0

これは、ネットワークドライブ接続が失われて復元されたときに起こります。 rehashは動作しませんが、rehash toolboxreset

関連する問題