how to add text to my plot

hi!
i want to write text on the plotted graph next to the min and max values of my function and i can't find it in the figure window
there is another options to find the min max values and write a text next to the graph?
thanks!
clear all
clc
t=0:0.01:2*pi;
s=1;
P=(4*sin(2.*t).*exp(-(t/s).^2)+2).*(0<=t<pi/2)+...
(4*sin(2.*t).*exp(-t/s)+2).*(pi/2<=t<=2*pi);
plot(t,P);
[a,b]=max(P);%
[c,d]=min(P);%
text(t(b),a,'maximum');%
text(t(d),c,'minimum');%
xlabel('time');
ylabel('power');
legend('p(t)');
title('power vs. time');

4 Comments

Stephen23
Stephen23 on 22 Jul 2019
Edited: Stephen23 on 22 Jul 2019
Your code works for me, what do you expect to happen?
R2012b:
untitled0.png
R2015b:
untitled1.png
hi!
the problem is that i can't see the text('min','max') over the graph:
‏‏לכידה.JPG
but i think madhan ravi,the guy who sent a comment after you already answer me
btw,what is the problem with my matlab?we put the same code,why doesn't my matlab show the text over the graph?
thanks!
@ron tzuberi: strange. What MATLAB version are you using?
@Stephen Cobeldick: i'm using R2018b

Sign in to comment.

 Accepted Answer

t=0:0.01:2*pi;
s=1;
P=(4*sin(2.*t).*exp(-(t/s).^2)+2).*(0<=t<pi/2)+...
(4*sin(2.*t).*exp(-t/s)+2).*(pi/2<=t<=2*pi);
plot(t,P);
[a,b]=max(P);%
[c,d]=min(P);%
hold on
plot(t(b),a,'*b','MarkerSize',10)
plot(t(d),c,'*k','MarkerSize',10)
text(t(b),a,'maximum');%
text(t(d),c,'minimum');%
xlabel('time');
ylabel('power');
legend('p(t)');
title('power vs. time');

1 Comment

hi!
thanks a lot,i think that i found the problem with your help.....
It matters where you put the line:
plot(t,P);
you put it before the lines:
text(t(b),a,'maximum');
text(t(d),c,'minimum');
thanks a lot!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!