绘制频谱图
Plotting the spectrogram
注意:这道题不是关于使用spectrogram
函数,它涉及数据表示。
我设计了自己的函数来计算频谱图,因为我需要针对输入类型和参数的自定义解决方案。它工作得很好,但我在制作输出图时遇到了尴尬。
目标是使用例如surf(X,Y,Z)
x,y 轴照常表示时间和频率。我有一个矩阵 spectg
,其中包含频谱图系数、向量 f
(频率)和向量 t
(时间)。
能否请您分享绘制此代码的代码。 meshgrid
我错过了一些非常简单的东西 - 可能今天过得很糟糕......
谢谢!
您的情况甚至不需要 meshgrid
。来自documentation,
surf(x,y,Z)
and surf(x,y,Z,C)
, with two vector arguments replacing
the first two matrix arguments, must have length(x) = n
and
length(y) = m
where [m,n] = size(Z)
. In this case, the vertices
of the surface patches are the triples (x(j), y(i), Z(i,j)).
Note that x
corresponds to the columns of Z
and y
corresponds to
the rows.
例如:
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)
给予
注意:这道题不是关于使用spectrogram
函数,它涉及数据表示。
我设计了自己的函数来计算频谱图,因为我需要针对输入类型和参数的自定义解决方案。它工作得很好,但我在制作输出图时遇到了尴尬。
目标是使用例如surf(X,Y,Z)
x,y 轴照常表示时间和频率。我有一个矩阵 spectg
,其中包含频谱图系数、向量 f
(频率)和向量 t
(时间)。
能否请您分享绘制此代码的代码。 meshgrid
我错过了一些非常简单的东西 - 可能今天过得很糟糕......
谢谢!
您的情况甚至不需要 meshgrid
。来自documentation,
surf(x,y,Z)
andsurf(x,y,Z,C)
, with two vector arguments replacing the first two matrix arguments, must havelength(x) = n
andlength(y) = m
where[m,n] = size(Z)
. In this case, the vertices of the surface patches are the triples (x(j), y(i), Z(i,j)). Note thatx
corresponds to the columns ofZ
andy
corresponds to the rows.
例如:
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)
给予