为了可视化,我需要在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的新手,我确实尝试编写一个for循环,将每个样本从“sel”中取出并为其生成一个谱图,但我没有达到任何结果。 (我使用specgram函数)。
答案 0 :(得分:2)
您可以使用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,:))