2

視覚化のために、Matlab で 3 ~ 6 個のスペクトログラムをランダムに表示する必要があります。私は 800 個のベクトル化された wav ファイルの配列を持っています。そのうち 3 つをランダムに選択し、それぞれのスペクトログラムを並べて表示する図にそれらをポップアップさせたいと考えています。

 load('training_set.mat');
    m = size(X, 1);
    % Randomly select 3 wavs
    rand_indices = randperm(m);
    sel = X(rand_indices(1:3), :);

私はMatlabを初めて使用し、「sel」から各サンプルを取得してスペクトログラムを生成するforループを作成しようとしましたが、結果は得られませんでした。(私は specgram 関数を使用します)。

4

1 に答える 1

2

コマンドを使用して、複数のプロットを 1 つのウィンドウsubplotに並べて表示できます。figure

figure
subplot(131)  % 1st number is # rows 
              % 2nd number is # columns
              % 3rd number is plot index
plot(x1,y1)
subplot(132)
plot(x2,y2)
subplot(133)
plot(x3,y3)

あなたの場合、試してみてください

figure
subplot(131)
plot(sel(1,:))
subplot(132)
plot(sel(2,:))
subplot(133)
plot(sel(3,:))
于 2013-09-14T12:46:14.650 に答える