MATLAB ヘルプ センター
並列処理を目的とした妥当な区画数の推定の返却
n = numpartitions(sds)
n = numpartitions(sds,pool)
n = numpartitions(sds) は、信号データストア sds の既定の区画数を返します。
n
sds
例
n = numpartitions(sds,pool) は、並列プールで sds を並列化するための妥当な区画数を返します。
pool
sds にファイル データが含まれている場合、区画の数は、プールのワーカー数およびファイルの総数によって異なります。
sds にインメモリ データが含まれている場合、区画の数は、プールのワーカー数およびメンバーの総数によって異なります。
データストア アクセスを並列化するには、Parallel Computing Toolbox™ がインストール済みでなければなりません。
すべて折りたたむ
MATLAB® に含まれる信号の例へのファイル パスを指定します。指定したフォルダーを示す信号データストアを作成します。
folder = fullfile(matlabroot,'toolbox','matlab','audiovideo'); sds = signalDatastore(folder,'SampleRateVariableName','Fs');
信号データストアの区画の既定の数を取得します。
n = 7
データストアを既定の数の区画に分割し、4 番目の区画に対応するデータストアを返します。
subsds = partition(sds,n,4);
関数extractAfterを使用して、4 番目の区画に対応するデータストアに含まれるファイルの名前を表示します。
extractAfter
fName = extractAfter(subsds.Files,'audiovideo\')
fName = 1×1 cell array {0×0 char}
4 番目の区画に対応するデータストアの信号に関するデータと情報を読み取ります。info からサンプル レートを抽出し、信号を元のサンプル レートの半分にリサンプリングします。元の信号とリサンプリングした信号をプロットします。
info
while hasdata(subsds) [data,info] = read(subsds); fs = info.SampleRate; f_res = 0.5*fs; ts = (0:length(data)-1)/fs; data_res = resample(data,1,2); t_res = (0:length(data_res)-1)/f_res; plot(ts,data,t_res,data_res,':') xlabel('Time (s)') ylabel('Signal') legend('Original','Resampled','Location','NorthWest') end
この例では次を使用します。
MATLAB® に付属する信号の例が格納されているディレクトリへのパスを指定します。
folder = fullfile(matlabroot,'toolbox','matlab','audiovideo');
指定したフォルダーを示す信号データストアを作成します。
sds = signalDatastore(folder);
現在の並列プールについて、並列処理のための妥当な区画数に関する推定を返します。
pool = gcp;
Starting parallel pool (parpool) using the 'local' profile ... Connected to the parallel pool (number of workers: 6).
信号データストアを分割し、各区画の信号データを読み取ります。
parfor ii = 1:n subds = partition(sds,n,ii); while hasdata(subds) data = read(subds); end end
signalDatastore
信号データストア。signalDatastore オブジェクトとして指定します。
並列プール。並列プール オブジェクトとして指定します。
データストア アクセスが並列化される区画の数。既定では、区画の数は min(Nobservations , 3Nworkers) です。このとき、次のようになります。
Nobservations は、データストアのファイルの数(ファイル データの場合) またはデータストアのメンバーの数 (インメモリ データの場合) です。
Nworkers は、プールのワーカーの数です。
R2020a で導入
signalDatastore | partition
partition
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ