9

MATLAB 検索パスに関していくつか質問があります。

  1. 現在のディレクトリは検索パスにありますが、なぜ「パス」の出力にないのですか? 完全な検索パスはどこにありますか?

  2. 検索パスを追加するには、どのような方法がありますか?

  3. 検索パスを追加するすべての可能な方法 (例: pathdef.m、startup.m、MATLABPATH 環境変数など) を考慮した場合、追加される検索パスの順序は? 同じ名前のファイルが異なる検索パスに存在する場合、一番上にあるファイルが選択されるため、重要だと思います。

4

2 に答える 2

10

Amroが提供するリンクは、質問に答えるのに非常に役立ちます。より具体的に対処するには:

  1. PATHからの出力には、pathdef.mファイルの内容が表示されます。これには、次のすべてが含まれている必要があります。

    • MATLAB およびその他の MathWorks 製品 (つまりツールボックス) で提供されるフォルダー。これらのフォルダーはルート MATLAB フォルダーにあり、MATLABROOT関数を使用して見つけることができます。

    • USERPATH関数を使用して見つけることができるMATLAB ユーザー フォルダー (つまりMy Documents\MATLAB、Windows プラットフォームの場合) 。

    • ユーザーがパス ファイルに追加したその他のフォルダ。

    完全な検索パスには、上記に加えて、現在のディレクトリが何であれ含まれます。現在のディレクトリは、MATLAB セッション中に変更できるため、パス ファイルの一部として保存されません。PWD関数を使用して、現在のフォルダーを見つけることができます。

  2. 検索パスは、パス ファイルまたは現在のディレクトリを変更することで変更できます。パス ファイルは、次の方法で変更できます。

    また、現在のディレクトリは次の方法で変更できます。

  3. 上記の方法を使用してパス ファイルを変更すると、通常、新しいフォルダーがパス リストの一番上に追加されます。[パスの設定] ダイアログ ボックスを使用して、パス ファイル内のパスの順序を変更できます。

    同じ名前の関数がある場合、MATLAB は次の関数の優先順位に従って、使用する関数を決定します。

    • 変数 (変数が関数と同じ名前を共有している場合)

    • ネストされた関数

    • サブ機能

    • プライベート機能

    • クラス コンストラクター

    • オーバーロードされたメソッド

    • 現在のディレクトリの関数

    • 検索パスの他の場所で機能する

    現在のディレクトリ内の関数は、検索パス上の他の場所よりも前に呼び出されることに注意してください。また、検索パスの最上部に最も近いファイルが、それより下のファイルよりも優先されます。

于 2010-01-25T05:38:51.383 に答える
5

最良の答えは、関連する MATLAB ドキュメントを参照することです。

于 2010-01-25T01:14:07.973 に答える