このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
subset
説明
は、sens
= subset(ens
,idx
) idx
のインデックスに対応するアンサンブル メンバーを抽出して、既存のアンサンブル データストア ens
のサブセットから新しいアンサンブル データストア sens
を作成します。
subset
は、特定のアンサンブル メンバーまたはアンサンブル メンバーのグループに対してアンサンブルの操作を実行する際に、処理するアンサンブル メンバーが read
コマンドとソース アンサンブルのシーケンスを使用して得られない場合に使用します。たとえば、subset
を使用して次のことが可能です。
特定の故障状態のアンサンブル メンバーのみを抽出する。
より大規模なアンサンブルと分布状況が似ている小規模なアンサンブルで事前の処理と特徴生成を実行する。
特定の特性をもつ単一のアンサンブル メンバーを抽出し、メンバーの動作を分離して調べる。
抽出するメンバーをインデックス ベクトル idx
を使用して指定します。その後、任意のデータ アンサンブルに使用する手法と同じ手法を使用して、抽出されたアンサンブルを操作できます。
例
アンサンブル データストアからの特定のメンバーの抽出
アンサンブル データストアから識別するアンサンブル メンバーを抽出し、単一の read コマンドを使用して内容を取得します。
この例では、次のコードを使用して、前に Simulink® モデルをさまざまな故障値で実行して生成されたデータを使って simulationEnsembleDatastore
オブジェクトを作成します (generateSimulationEnsemble
を参照)。アンサンブルには、モデル パラメーター ToothFaultGain
の 5 つの異なる値についてのシミュレーション データが含まれます。データのボリュームにより、unzip
操作には数分かかります。
unzip simEnsData.zip ens = simulationEnsembleDatastore(pwd,'logsout')
ens = simulationEnsembleDatastore with properties: DataVariables: [5x1 string] IndependentVariables: [0x0 string] ConditionVariables: [0x0 string] SelectedVariables: [5x1 string] ReadSize: 1 NumMembers: 5 LastMemberRead: [0x0 string] Files: [5x1 string]
ems_nm = ens.NumMembers
ems_nm = 5
アンサンブルには 5 つのファイルが含まれています。
4 番目のアンサンブル メンバーを新しい単一メンバーのアンサンブル sens
に抽出します。
idx = 4; sens = subset(ens,idx); sens_nm = sens.NumMembers
sens_nm = 1
1 つのメンバーが sens
に含まれています。ファイル名を表示してメンバー インデックスを確認します。
sens.Files
ans = "/tmp/Bdoc23b_2395265_1654580/tpdbf4da40/predmaint-ex43507974/TransmissionCasingSimplified_log_4.mat"
sens
を最初のメンバーにリセットして内容を読み取ります。
reset(sens) m4 = read(sens)
m4=1×5 table
PMSignalLogName SimulationInput SimulationMetadata Tacho Vibration
_______________ ______________________________ _________________________________ ___________________ ___________________
{'logsout'} {1x1 Simulink.SimulationInput} {1x1 Simulink.SimulationMetadata} {20213x1 timetable} {20213x1 timetable}
抽出されたメンバーのデータが m4
に含まれています。
アンサンブル データストアのサブセットの作成
既存のシミュレーション アンサンブル データストアのサブセットからシミュレーション アンサンブル データストアを作成します。
前に Simulink® モデルをさまざまな故障値で実行して生成されたデータを使って simulationEnsembleDatastore
オブジェクトを作成します。
unzip simEnsData.zip ens = simulationEnsembleDatastore(pwd,'logsout'); ens_nm = ens.NumMembers
ens_nm = 5
アンサンブルには 5 つのファイルが含まれています。ファイル名を表示します。
ens.Files
ans = 5x1 string
"/tmp/Bdoc23b_2395265_1653469/tp06d81236/predmaint-ex46856662/TransmissionCasingSimplified_log_1.mat"
"/tmp/Bdoc23b_2395265_1653469/tp06d81236/predmaint-ex46856662/TransmissionCasingSimplified_log_2.mat"
"/tmp/Bdoc23b_2395265_1653469/tp06d81236/predmaint-ex46856662/TransmissionCasingSimplified_log_3.mat"
"/tmp/Bdoc23b_2395265_1653469/tp06d81236/predmaint-ex46856662/TransmissionCasingSimplified_log_4.mat"
"/tmp/Bdoc23b_2395265_1653469/tp06d81236/predmaint-ex46856662/TransmissionCasingSimplified_log_5.mat"
1 番目、3 番目、および 5 番目のファイルを新しいアンサンブルに抽出します。
idx = [1 3 5]; sens = subset(ens,idx); sens_nm = sens.NumMembers
sens_nm = 3
3 つのメンバーが新しいアンサンブルに含まれています。ファイル名を表示します。
sens.Files
ans = 3x1 string
"/tmp/Bdoc23b_2395265_1653469/tp06d81236/predmaint-ex46856662/TransmissionCasingSimplified_log_1.mat"
"/tmp/Bdoc23b_2395265_1653469/tp06d81236/predmaint-ex46856662/TransmissionCasingSimplified_log_3.mat"
"/tmp/Bdoc23b_2395265_1653469/tp06d81236/predmaint-ex46856662/TransmissionCasingSimplified_log_5.mat"
インデックスを指定した 3 つのファイルが新しいアンサンブルに含まれています。
入力引数
ens
— ソース アンサンブル データストア
fileEnsembleDatastore
オブジェクト | simulationEnsembleDatastore
オブジェクト
メンバーを抽出するソース アンサンブル データストア。fileEnsembleDatastore
オブジェクトまたは simulationEnsembleDatastore
オブジェクトとして指定します。アンサンブル データストアからメンバーを抽出する例については、アンサンブル データストアからの特定のメンバーの抽出を参照してください。
idx
— ソース アンサンブル メンバーのインデックス
数値ベクトル | 整数ベクトル | logical ベクトル
抽出するソース アンサンブル メンバーのインデックス。数値ベクトル、整数ベクトル、または logical ベクトルとして指定します。ベクトルの要素の数が ens
のメンバーの数を超えてはなりません。数値ベクトルまたは整数ベクトルの場合、すべてのインデックスが正でなければなりません。logical ベクトルの場合、要素の数は ens
のアンサンブル メンバーの数と等しくなければなりません。インデックス ベクトルの作成と使用の例については、アンサンブル データストアのサブセットの作成を参照してください。
出力引数
sens
— 抽出されたアンサンブル データストア
fileEnsembleDatastore
オブジェクト | simulationEnsembleDatastore
オブジェクト
抽出されたアンサンブル データストア。fileEnsembleDatastore
オブジェクトまたは simulationEnsembleDatastore
オブジェクトとして返されます。
バージョン履歴
R2021a で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
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:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)