绘制频谱图

时间:2015-04-15 11:10:46

标签: matlab plot octave matlab-figure

注意:此问题与使用spectrogram函数无关,它处理数据表示。

我设计了自己的函数来计算频谱图,因为我需要一个输入和参数类型的自定义解决方案。它运作得很好,但我很难搞制作输出图。

目标是使用例如surf(X,Y,Z),x,y轴像往常一样代表时间和频率。我有一个矩阵spectg,其中包含频谱图系数,矢量f(频率)和矢量t(时间)。

请您分享用于绘制此内容的代码。我错过了meshgrid非常简单的事情 - 可能有糟糕的一天......

谢谢!

1 个答案:

答案 0 :(得分:1)

您甚至不需要meshgrid。来自documentation

  

surf(x,y,Z)surf(x,y,Z,C),替换了两个矢量参数       前两个矩阵参数必须有length(x) = n和       length(y) = m其中[m,n] = size(Z)。在这种情况下,顶点       表面贴片的三元组是三元组(x(j),y(i),Z(i,j))。       请注意,x对应于Zy对应的列       行。

例如:

s = randi(10,4,5); %// example data
x = 10:10:50; %// example x, of length size(s,2);
y = 21:24; %// example y, of length size(s,1);
surf(x,y,s)

给出

enter image description here

相关问题