ドキュメンテーションヘルプ センター
最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。
信号データストアの分割、および分割した部分の返却
subsds = partition(sds,numPartitions,index)
subsds = partition(sds,'Observations',index)
subsds = partition(sds,'Observations',obsname)
例
subsds = partition(sds,numPartitions,index) は、信号データストアを numPartitions で指定された数の部分に分割し、index に対応する区画を返します。
subsds
sds
numPartitions
index
subsds = partition(sds,'Observations',index) は、信号データストアを分割し、index に対応する区画を Observations プロパティで返します。
Observations
sds にファイル データが含まれている場合、関数はファイルごとに信号データストアを分割します。
sds にインメモリ データが含まれている場合、関数はメンバーごとに信号データストアを分割します。
subsds = partition(sds,'Observations',obsname) は、信号データストアを分割し、観測名 obsname に対応する区画を返します。
obsname
sds にファイル データが含まれている場合、関数はファイルごとにデータストアを分割します。
sds にインメモリ データが含まれている場合、関数はメンバーごとにデータストアを分割します。
すべて折りたたむ
MATLAB® に含まれる信号の例へのファイル パスを指定します。指定したフォルダーを示す信号データストアを作成します。
folder = fullfile(matlabroot,'toolbox','matlab','audiovideo'); sds = signalDatastore(folder,'SampleRateVariableName','Fs');
信号データストアの区画の既定の数を取得します。
n = numpartitions(sds)
n = 7
データストアを既定の数の区画に分割し、4 番目の区画に対応するデータストアを返します。
subsds = partition(sds,n,4);
関数 extractAfter を使用して、4 番目の区画に対応するデータストアに含まれるファイルの名前を表示します。
extractAfter
fName = extractAfter(subsds.Files,'audiovideo\')
fName = 1×1 cell array {'laughter.mat'}
4 番目の区画に対応するデータストアの信号に関するデータと情報を読み取ります。struct 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).
n = numpartitions(sds,pool)
信号データストアを分割し、各区画の信号データを読み取ります。
parfor ii = 1:n subds = partition(sds,n,ii); while hasdata(subds) data = read(subds); end end
signalDatastore
信号データストア。signalDatastore オブジェクトとして指定します。
分割数。正の整数として指定します。関数 numpartitions (Audio Toolbox) を使用して numPartitions の妥当な値を推定します。
numpartitions
データ型: single | double
single
double
サブデータストアのインデックス。範囲 [1,numPartitions] の正の整数として指定します。
[1,numPartitions]
観測名。string スカラーまたは文字ベクトルとして指定します。
obsname の値は次のようになります。
ファイル名 (ファイル データの場合)
メンバー名 (インメモリ データの場合)
データ型: char | string
char
string
出力信号データストア。signalDatastore オブジェクトとして返されます。
numpartitions | signalDatastore
この例の変更されたバージョンがシステム上にあります。代わりにこのバージョンを開きますか?
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Contact your local office