web-dev-qa-db-ja.com

Matlabの別のディレクトリにある関数を呼び出す方法は?

MATLAB15-18 scriptsでコーディングされた大きなプロジェクトがあります。コード全体を理解することは非常に困難になっています。スクリプトを別のフォルダに入れることができれば、コードを理解して保守するのが非常に簡単になると考えていました。それは可能ですか?

以下のディレクトリ構造を考慮してください。

enter image description here

main.mfunc.mにあるFolder 1から関数を呼び出すにはどうすればよいですか?

11
Atinesh

手動ソリューション

以下を実行します。

  1. 階層の最上位にあるフォルダーを右クリックします。
  2. [パスに追加]をクリックします
  3. 選択したフォルダーとサブフォルダーをクリックします

この段階で、スクリプトは、選択した内部サブフォルダーのいずれかに存在する関数またはスクリプトを識別できます。さらに、コマンドラインに名前を入力するだけで、任意のスクリプトと関数を呼び出すことができます。

コードソリューション

手動で行う代わりに、次のコードを使用してフォルダーとサブフォルダーをパスに追加することもできます。

 addpath(genpath(<path to your directory>))

現在のMatlabパスのツリー構造

enter image description here

次のコードを記述することにより、フォルダー1の関数とスクリプトをパスに追加できます。

addpath(genpath('Folder 1'))

または、メニューから「フォルダーとサブフォルダーの追加」オプションを使用します。

enter image description here

そうすると、mainからfuncを直接呼び出すことができます

13
drorco