1. ホーム
  2. マットラボ

[解決済み] Matlabでファイルが存在するかどうかを確認する方法は?[クローズド]

2022-03-04 05:35:18

質問

if exist('JaccardDistance', 'file')==1
    load('JaccardDistance');
else
    % Do things
end

JaccardDistanceというファイルは、このコードが実行されているのと同じフォルダーにあります。問題は、"else"の部分が常に実行されていることで、ファイルJaccardDistanceが存在することを認識していないことになります。私は何を間違えているのでしょうか?よろしくお願いします。

解決方法は?

存在するファイルには1ではなく2が返されます。また、ファイルの拡張子もチェックに含めなければなりません。

if exist('JaccardDistance.m', 'file') == 2

レフ matlabフォーラム を読むか、または マニュアル :

exist name は name の状態を返します。

  • 0 の名前が存在しない。
  • 1 name はワークスペースの変数です。
  • 2 以下のいずれかに該当します。

    • 名前が拡張子 .m のファイルとして MATLAB® の検索パス上に存在する。
    • は、MATLABの検索パス上にある通常のファイル名です。
    • は、任意のファイルへのフルパス名です。