Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

addMembers

ラベル付き信号セットへのメンバーの追加

説明

addMembers(lss,src) は、入力データ ソース src から、ラベル付き信号セット lss にメンバーを追加します。

addMembers(lss,src,tinfo) は、新しいメンバーの時間情報を tinfo に設定します。

addMembers(lss,src,tinfo,mnames) は、新しいメンバーの名前を mnames に設定します。mnames の長さは新しいメンバーの数と等しくなければなりません。

すべて折りたたむ

クジラの歌の録音を含むラベル付き信号セットを読み込みます。

load whales
lss
lss = 
  labeledSignalSet with properties:

             Source: {2x1 cell}
         NumMembers: 2
    TimeInformation: "sampleRate"
         SampleRate: 4000
             Labels: [2x3 table]
        Description: "Characterize wave song regions"

 Use labelDefinitionsHierarchy to see a list of labels and sublabels.
 Use setLabelValue to add data to the set.

セットの 2 番目のメンバーを取得し、プロットします。

[song,tinfo] = getSignal(lss,2);

t = (0:length(song)-1)/tinfo.SampleRate;

plot(t,song)

Figure contains an axes object. The axes object contains an object of type line.

取得した信号の最初と最後の秒を削除します。

song2 = song(t>1 & t<t(end)-1);
t2 = (0:length(song2)-1)/tinfo.SampleRate;

plot(t2,song2)

Figure contains an axes object. The axes object contains an object of type line.

ラベル付きセットの新しいメンバーとして短い信号を追加します。

addMembers(lss,song2)
lss
lss = 
  labeledSignalSet with properties:

             Source: {3x1 cell}
         NumMembers: 3
    TimeInformation: "sampleRate"
         SampleRate: 4000
             Labels: [3x3 table]
        Description: "Characterize wave song regions"

 Use labelDefinitionsHierarchy to see a list of labels and sublabels.
 Use setLabelValue to add data to the set.

短い信号の上下を反転させて、ラベル付きセットの新しいメンバーとして追加します。新しいメンバーが 1 kHz でサンプリングされるように指定します。

addMembers(lss,flipud(song2),1000)
lss.SampleRate
ans = 4×1

        4000
        4000
        4000
        1000

入力引数

すべて折りたたむ

ラベル付き信号セット。labeledSignalSet オブジェクトとして指定します。

例: labeledSignalSet({randn(100,1) randn(10,1)},signalLabelDefinition('female')) は、属性 'female' を含むランダム信号の 2 つのメンバーのセットを指定します。

入力データ ソース。行列、cell 配列、timetable、signalDatastore オブジェクト、または audioDatastore (Audio Toolbox) オブジェクトとして指定します。src の具体的な型は、lssSourceプロパティによって異なります。

  • Sourceが行列の cell 配列の場合:

    • 1 つのメンバーをセットに追加するには、行列として src を指定します。

    • 複数のメンバーをセットに追加するには、行列の cell 配列として src を指定します。

  • Sourceがベクトルの cell 配列を含む cell 配列の場合:

    • 1 つのメンバーをセットに追加するには、ベクトルの cell 配列として src を指定します。

    • 複数のメンバーをセットに追加するには、ベクトルの cell 配列を含む cell 配列として src を指定します。

  • Sourceが timetable の cell 配列の場合:

    • 1 つのメンバーをセットに追加するには、timetable として src を指定します。

    • 複数のメンバーをセットに追加するには、timetable の cell 配列として src を指定します。

  • Sourceがデータストアの場合は、新しいファイルを示す別のデータストアとして src を設定することでメンバーを追加します。

例: {randn(10,3),randn(17,9)} は、2 つのメンバーを指定します。最初のメンバーには、10 サンプルの信号が 3 つ含まれています。2 番目のメンバーには、17 サンプルの信号が 9 つ含まれています。

例: {{randn(10,1)},{randn(17,1),randn(27,1)}} は、2 つのメンバーを指定します。最初のメンバーには、10 サンプルの信号が 1 つ含まれています。2 番目のメンバーには、17 サンプルの信号が 1 つと、27 サンプルの信号が 1 つ含まれています。

例: {{timetable(seconds(1:10)',randn(10,3)),timetable(seconds(1:7)',randn(7,2))},{timetable(seconds(1:3)',randn(3,1))}} は、2 つのメンバーを指定します。最初のメンバーには、1 Hz で 10 秒間サンプリングされた信号が 3 つと、1 Hz で 7 秒間サンプリングされた信号が 2 つ含まれています。2 番目のメンバーには、1 Hz で 3 秒間サンプリングされた信号が 1 つ含まれています。

例:ファイルを示す signalDatastore オブジェクト

MATLAB® に MAT ファイルとして含まれているサンプル音声信号セットへのパスを指定します。各ファイルには、信号変数とサンプル レートが格納されています。ファイル名をリストします。

folder = fullfile(matlabroot,"toolbox","matlab","audiovideo");
lst = dir(append(folder,"/*.mat"));
nms = {lst(:).name}'
nms = 7x1 cell
    {'chirp.mat'   }
    {'gong.mat'    }
    {'handel.mat'  }
    {'laughter.mat'}
    {'mtlb.mat'    }
    {'splat.mat'   }
    {'train.mat'   }

指定したフォルダーを示す信号データストアを作成します。サンプル レート変数名を Fs に設定します。これは、すべてのファイルで共通です。ファイル mtlb.mat を除くデータストアのサブセットを生成します。これは、信号変数が y と呼ばれないという点で他のファイルとは異なっています。

sds = signalDatastore(folder,"SampleRateVariableName","Fs");
sdss = subset(sds,~strcmp(nms,"mtlb.mat"));

サブセット データストアを labeledSignalSet オブジェクトのソースとして使用します。

lss = labeledSignalSet(sdss)
lss = 
  labeledSignalSet with properties:

             Source: [1x1 signalDatastore]
         NumMembers: 6
    TimeInformation: "inherent"
             Labels: [6x0 table]
        Description: ""

 Use labelDefinitionsHierarchy to see a list of labels and sublabels.
 Use setLabelValue to add data to the set.

新しいメンバーの時間情報。スカラー、ベクトル、行列、duration スカラー、または duration ベクトルとして指定します。この引数は、lssTimeInformationプロパティが 'sampleRate''sampleTime'、または 'timeValues' の場合にのみ有効です。

  • TimeInformation'sampleRate' の場合、tinfo はサンプル レートの値を指定します。

  • TimeInformation'sampleTime' の場合、tinfo はサンプル時間の値を指定します。

  • TimeInformation'timeValues' の場合、tinfo は時間の値を指定します。

複数のメンバーをセットに追加する場合は、tinfo の値を 1 つのみ指定すると、すべてのメンバーに同じ値が設定されます。新しいメンバーにそれぞれ異なる値を指定する場合は、複数の値を持つように tinfo を設定します。

ソースが指定されていない場合、またはラベル付き信号セットのソースが空の場合は、lsstinfo が正しく解釈されるように、TimeInformationプロパティを 'sampleRate''sampleTime'、または 'timeValues' に変更できます。

例: addMembers(ks,{randn(10,5),randn(10,3)},seconds([1 2])) は、2 つの新しいメンバーの異なる時間情報を ks = labeledSignalSet(randn(10,3),'SampleTime',seconds(1)) に設定します。

例: addMembers(ks,{randn(10,5),randn(10,3)},[1:10;2:2:20]') は、2 つの新しいメンバーの異なる時間情報を ks = labeledSignalSet(randn(10,3),'TimeValues',1:10) に設定します。

メンバー名。文字ベクトル、string スカラー、文字ベクトルの cell 配列、または string 配列として指定します。

例: labeledSignalSet({randn(100,1) randn(10,1)},'MemberNames',{'llama' 'alpaca'}) は、2 つのメンバー、'llama' および 'alpaca' をもつランダム信号のセットを指定します。

バージョン履歴

R2018b で導入