How do I add local min and max values on each line of the plot like the plot shown below?
이전 댓글 표시
%Code used for first plot
% Need the first plot to look exactly like the second plot
plot(rad1,'red')
hold on
plot(in,'yellow')
plot(in1,'blue')
plot(in2,'green')
title('Position Analysis')
xlabel('\Theta2(rads)')
ylabel('Outputs')
legend({'\Theta3(radians)','R3(in)','R4(in)','R5(in)'},'FontSize',6)
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'})


채택된 답변
추가 답변 (1개)
TADA
2021년 8월 28일
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;
rad1 = sin(x).^2 .* tan(x);
[localMinValueRad1, localMinIdxRad1] = min(rad1);
[localMaxValueRad1, localMaxIdxRad1] = max(rad1);
plot(rad1, 'red');
hold on;
plot([localMinIdxRad1(:); localMaxIdxRad1(:)], [localMinValueRad1(:); localMaxValueRad1(:)], 'rx');
% continue doing this for the rest of the datasets
댓글 수: 4
Bryan Tassin
2021년 9월 5일
TADA
2021년 9월 5일
What about it doesn't work for you? I need more details
Bryan Tassin
2021년 9월 5일
TADA
2021년 9월 5일
what do you mean by changes the plot completely?
did you use my code as-is?
카테고리
도움말 센터 및 File Exchange에서 Annotations에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!