Matlab 如何标记低于500的值?

Matlab 如何标记低于500的值?,matlab,line,ecgi,Matlab,Line,Ecgi,我想用星星或任何东西标记500以下的峰值,并将其命名为“Q波”,或者在该点上画一条彩色垂直线? 有人知道怎么做吗 谢谢 使用。下图和代码显示了一些示例。 % Create some data load sunspot.dat data = sunspot(1:200,2)*4 + 180; % Plot the data plot(data, 'm'); hold on; grid on; ylim([0,1000]); % all local maxima [pks, locs] =

我想用星星或任何东西标记500以下的峰值,并将其命名为“Q波”,或者在该点上画一条彩色垂直线?

有人知道怎么做吗

谢谢

使用。下图和代码显示了一些示例。

% Create some data
load sunspot.dat
data = sunspot(1:200,2)*4 + 180;

% Plot the data
plot(data, 'm'); hold on; grid on;
ylim([0,1000]);

% all local maxima
[pks, locs] = findpeaks(data);
plot(locs, pks, 'ro');

% all local minima -- the trick is to invert the data:
[pks, locs] = findpeaks(-data);
plot(locs, -pks, 'bo');

% local maxima greater than 500
[pks, locs] = findpeaks(data, 'MinPeakHeight', 500);
plot(locs, pks, 'r*');

% local minima less than 200
[pks, locs] = findpeaks(-data, 'MinPeakHeight', -200);
plot(locs, -pks, 'b*');

% local maxima less than 400 -- the trick is to apply treshold to the pks
[pks, locs] = findpeaks(data);
locs(pks > 400) = []; % delete unwanted data points
pks(pks > 400) = [];  % delete unwanted data points
plot(locs, pks, 'kV', 'MarkerSize', 5);

legend({
    'data'
    'all local maxima points'
    'all local minima points'
    'maxima greater than 500'
    'minima less than 200'
    'local maxima less than 400'
    });