0

データセットを処理していて問題が発生しています。関連するすべての出力変数をタイムスタンプ付きの大きな Excel ファイルに xlswrite しますが、実際にその結果を生成したコードは保存しません。したがって、特定の一連の結果を再現しようとしても、メモリに頼らずには実行できません (これは明らかに良い計画ではありません)。出力Excelファイルの生成に使用されるmファイルとExcelファイル自体を、名前とタイムスタンプを付けられるフォルダーに保存するのに役立つコマンドがあるかどうか知りたいので、これを手動で行う必要はありません。

私の完璧な世界では、4 つまたは 5 つの他の関数 m-file を呼び出すマスター コード ファイルを実行し、それらすべての m-file を Excel 出力と共に、results_YYYYMMDDTIME という名前のフォルダーに保存します。この機能は存在しますか? 私はそれを見つけることができないようです。

4

1 に答える 1

1

そのような機能は組み込まれていません。

depfunwithを使用して、メイン関数の依存関係ツリーを構築できますmfilenamedepfun(mfilename())現在実行中の m-file によって呼び出されるすべての関数/m-file のリストを返します。これには、MATLAB ビルトインとして提供されるすべてのファイルが含まれます。それらを削除することもできます (Excel シートに MATLAB バージョンのみを記録します)。

擬似コードとして:

% get all files:
dependencies = depfun(mfilename());
for all dependencies:
    if not a matlab-builtin:
        copyfile(dependency, your_folder)

「長期的な」解決策として、Subversion のようなバージョン管理システムを使用しているかどうかを確認する必要があるかもしれません。大規模なプロジェクトでは、これは、特定の結果を生成するために使用されたソース コードのバージョンを記録するための推奨される方法です。

于 2013-09-23T20:39:52.757 に答える