これまでに作成したすべてのmファイルを配布せずに、独自の依存関係などを持つ他の関数に依存する、作成した関数を配布するには、依存関係の完全なリストを把握する必要があります。特定のmファイルに対して。これを行うための組み込み/無料でダウンロード可能な方法はありますか?
特にMATLAB7.4.0(R2007a)のソリューションに興味がありますが、古いバージョンで別の方法がある場合は、必ずここに追加してください。
Matlabの新しいリリース(2007または2008など)の場合、組み込み関数を使用できます。
別のオプションは、Matlabのプロファイラーを使用することです。コマンドはprofileであり、依存関係を追跡するためにも使用できます。プロファイルを使用するには、次のことができます
>> profile on % turn profiling on
>> foo; % entry point to your matlab function or script
>> profile off % turn profiling off
>> profview % view the report
プロファイラーが使用できない場合は、おそらく次の2つの関数が使用されます(MATLAB 2015aより前の場合)。
例えば、
>> deps = depfun('foo');
foo.mのすべての依存関係を含む構造体depsを提供します。
回答 2 およびから、MATLABの新しいバージョン(2015a以降)は代わりにmatlab.codetools.requiredFilesAndProducts
を使用します。
答えを見る
編集:
@MikeKatzのコメントに感謝する警告
プロファイラーはそれらの実行で実際に使用されたファイルのみを表示するため、すべてのブランチを通過しない場合は、追加の依存関係がある可能性があることに注意してください。依存関係レポートは優れたツールですが、パス上の静的な依存関係と、単一のディレクトリ内のファイルのみを解決します。
Depfunはより信頼性がありますが、考えられるすべてのことを提供し、それでもLOADとEVALを見逃します。
ために MATLAB 2015a
以降は、できれば matlab.codetools.requiredFilesAndProducts を確認する必要があります。
またはdoc matlab.codetools.requiredFilesAndProducts
depfun
は将来のリリースで削除されるようにマークされているためです。