# How do I add local min and max values on each line of the plot like the plot shown below?

조회 수: 33(최근 30일)
Bryan Tassin 2021년 8월 28일
%Code used for first plot
% Need the first plot to look exactly like the second plot
hold on
plot(in,'yellow')
plot(in1,'blue')
plot(in2,'green')
title('Position Analysis')
ylabel('Outputs')
xticks([0 50 100 150 200 250 300 350 400])
xticklabels({'0','\pi/4','\pi/2','3\pi/4','\pi','5\pi/4','3\pi/2','7\pi/4','2\pi'})
##### 댓글 수: 2표시숨기기 이전 댓글 수: 1
Bryan Tassin 2021년 8월 28일
can you be a little more specific? what would i write for this particular situation?

댓글을 달려면 로그인하십시오.

### 채택된 답변

Image Analyst 2021년 9월 5일
If you just have one global peak and valley, try this:
maxValue = max(in);
indexesOfMaxima = find(in == maxValue);
plot(indexesOfMaxima, in(indexesOfMaxima), 'rx', 'LineWidth', 2, 'MarkerSize', 15);
% Repeat for in1 and in2 using their colors.
If you have local mins and maxima, use findpeaks() in the Signal Processing Toolbox
[peakValues, peakIndexes] = findpeaks(in);
[valleyValues, valleyIndexes] = findpeaks(-in); % Turn it upside down then find peaks.
valleyValues = -valleyValues;
##### 댓글 수: 1표시숨기기 없음
Image analysts answer is definitely more complete.

댓글을 달려면 로그인하십시오.

### 추가 답변(1개)

Im not sure, but it seems to me that the plot you are trying to duplicate marks local minima/maxima points as the absolute minimum/maximum values in each dataset, and not using some more complecated peak analysis.
In that case you can easilly find the deeps and peaks using
x = 1:100;
hold on;
% continue doing this for the rest of the datasets
##### 댓글 수: 4표시숨기기 이전 댓글 수: 3
what do you mean by changes the plot completely?
did you use my code as-is?

댓글을 달려면 로그인하십시오.

### 범주

Find more on Line Plots in Help Center and File Exchange

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by