メインコンテンツ

progress

読み取ったファイルの割合

説明

fractionRead = progress(sds) は、データストアで読み取ったファイルの割合を、[0,1] の範囲で正規化した値として返します。

すべて折りたたむ

MATLAB® に MAT ファイルとして含まれているオーディオ信号セットへのパスを指定します。

folder = fullfile(matlabroot,"toolbox","matlab","audiovideo");

指定したフォルダーを示す信号データストアを作成し、サンプル レート変数の名前を Fs に設定します。データストア内の MAT ファイルの名前をリストします。

sds = signalDatastore(folder, ...
    FileExtension=".mat",SampleRateVariableName="Fs");
[~,c] = fileparts(sds.Files)
c = 7×1 cell
    {'chirp'   }
    {'gong'    }
    {'handel'  }
    {'laughter'}
    {'mtlb'    }
    {'splat'   }
    {'train'   }

信号データストアに読み取られていないファイルがある場合、連続したファイルをデータストアから読み取ります。関数 progress を使用して、読み取られたファイルの割合を監視します。

while hasdata(sds)
    [data,info] = read(sds);
    fprintf("Fraction of files read: %.2f\n",progress(sds))
end
Fraction of files read: 0.14
Fraction of files read: 0.29
Fraction of files read: 0.43
Fraction of files read: 0.57
Fraction of files read: 0.71
Fraction of files read: 0.86
Fraction of files read: 1.00

関数 read への最後の呼び出しで返された info 構造体を出力して精査します。

info
info = struct with fields:
             SampleRate: 8192
       TimeVariableName: "Fs"
    SignalVariableNames: "y"
               FileName: "/mathworks/devel/bat/filer/batfs2566-0/Bdoc25b.2988451/build/runnable/matlab/toolbox/matlab/audiovideo/train.mat"

入力引数

すべて折りたたむ

sdssignalDatastore オブジェクトとして指定します。

出力引数

すべて折りたたむ

読み取ったファイルの割合。[0,1] の範囲で正規化された値として返されます。

データ型: double

バージョン履歴

R2020a で導入