How to print changing y value on plot using the "COMET" function

For the following code I am trying to print the y value as a function of time on the plot itself (shown here is a damped sine wave function). However, the value is not printing. Many thanks in advance for any help.
x = linspace(0,5,250);
for k = 2:length(x)
y = exp(-350.*x).*25.*cos(4.*x)+200;
ax = axes;
set(ax, 'xlim', [0 3], 'ylim', [150 300]);
hold(ax);
comet(ax,x,y)
txt = num2str(y); %%%%%%ISSUE CODE
text(2.15,275,sprintf('%d',txt)) %%%%%%ISSUE CODE
end

 Respuesta aceptada

text(2.15,275,txt)
Alternately instead of assigning anything to txt use
text(2.15,275,sprintf('%d',y))

2 comentarios

Thanks again, Walter Robinson. The text is appearing behind the background of the plot, and I should include "delete(y)" at the end of the loop. I'll comment again once I've fixed the issue.
if exist('lab', 'var') && ishghandle(lab); delete(lab); end
lab = text(2.15,275,sprintf('%d',y));
WIth regards to it appearing behind the plot: use a z coordinate in the text() call.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Animation en Centro de ayuda y File Exchange.

Productos

Versión

R2018b

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by