分解的模态分量,经过三维显示可以得到很高端的展示,绝对是一个加分项。
我分享一下自己的代码,简单易用。
目标:MATLAB对信号数据为VMD分解后的4个模态分量 u 进行三维展示。 u 为(4,10000)的double数组。
[X,Y] = meshgrid(1:size(u,1),1:size(u,2)); %建立 x,y 坐标网格
Z = u(1:4,:); %选择要显示的时域信号数据
figure;
plot3(X,Y,Z);grid on;
生成的效果图:
由图可以看出,效果很不错的,可以自动分配颜色。因为第一个分量显示的幅值较小,为避免大家觉得有问题,我通过显示第一个分量的时域图,可以看到它的幅值和其它三个分量的幅值相差较大。
既然有现在的经验,就顺带做了包络谱三维图,用的是 Hilbert 包络解调看它的频率分量,上代码:
for i = 1:size(u,1)
[e_1,fre] = envelope(u(i,:),N);
e(i,:) = e_1;
end
[X,Y]=meshgrid(1:size(e,1),fre);
Z = e(1:4,:);
figure;
plot3(X,Y,Z);grid on;
生成效果也还不错: