【发布时间】:2020-10-17 13:11:43
【问题描述】:
我通过以下代码实现了这一点:
data = mzcdfread('sample1.cdf');
[pks,locs,w,p] = findpeaks(data.ordinate_values)
plot(data.ordinate_values)
在哪里
locs 返回每个峰值顶部的x 值,pks 返回每个峰值的y 值。以下是locs 和pks 的示例:
pks =
10×1 single column vector
0.6649
0.7314
0.7536
1.3797
0.2394
0.4322
0.2090
0.5402
0.6797
0.3059
locs =
1199
2399
3599
4799
5999
7199
8399
9599
10799
11999
这是我试图在每个峰的顶部画一个圆形标记,但它不起作用:
% r as radius
r = 0.2
ang=0:0.01:2*pi;
xp=r*cos(ang);
yp=r*sin(ang);
plot(data.ordinate_values, locs+xp, pks+yp)
【问题讨论】:
-
您应该在答案下方留下评论,要求此人进一步澄清。答案会做你想做的事,但你没有以正确的方式使用它。我相信答案可以进一步阐明如何将该代码与您的代码结合起来。在 MATLAB 文档中查找
hold on。 -
您还需要隐藏第二个情节的线条,例如
plot(locs, pks, 'o'). -
Cris Luengo 是对的,只包含部分答案是我的错。你也应该使用
hold on。我正在下面编辑我的答案。
标签: matlab plot drawing matlab-figure draw