matlab graph point

Puntos moviéndose a lo largo de una curva dentro de MATLAB



set plot matlab (1)

Aquí se explica cómo puede agregar otro punto que comience a deslizarse desde el extremo independientemente del primer punto.

En su código, antes de la línea %#Infinite loop , agregue lo siguiente:

hLine2 = line(''XData'',x(end), ''YData'',y(end), ''Color'',''g'', ... ''Marker'',''o'', ''MarkerSize'',6, ''LineWidth'',2); hTxt2 = text(x(end), y(end), sprintf(''(%.3f,%.3f)'',x(1),y(1)), ... ''Color'',[0.2 0.2 0.2], ''FontSize'',8, ... ''HorizontalAlignment'',''left'', ''VerticalAlignment'',''top'');

y dentro del ciclo, antes del comando drawnow , agregue lo siguiente:

set(hLine2, ''XData'',x(end-i), ''YData'',y(end-i)) set(hTxt2, ''Position'',[x(end-i) y(end-i)], ... ''String'',sprintf(''(%.3f,%.3f)'',[x(end-i) y(end-i)]))

Entonces, su segundo punto se desliza hacia abajo y el primero se desliza hacia arriba. Puede definir la trayectoria del punto como desee en la definición de hLine2 y hTxt2

He logrado editar una parte del código que me fue entregado para mostrar un punto moviéndose a lo largo de una curva.

Estoy tratando de encontrar una forma de editar esto para crear dos puntos independientes que se muevan a lo largo de esta curva o para crear una segunda figura que muestre otro punto moviéndose a lo largo de un gráfico. El punto principal es que los puntos deben ser independientes entre sí para que se les pueda aplicar un algoritmo.

Actualmente tengo el siguiente código que proporciona un único punto moviéndose a lo largo de la curva:

%# control animation speed DELAY = 0.01; numPoints = 600; %# create data x = linspace(0,1,numPoints); f = 5; C = 1-exp(-f); y = C*(1-(exp(-f*x))); %# plot graph figure(''DoubleBuffer'',''on'') %# no flickering plot(x,y, ''LineWidth'',2), grid on xlabel(''x''), ylabel(''y''), title('''') %# create moving point + coords text hLine = line(''XData'',x(1), ''YData'',y(1), ''Color'',''r'', ... ''Marker'',''o'', ''MarkerSize'',6, ''LineWidth'',2); hTxt = text(x(1), y(1), sprintf(''(%.3f,%.3f)'',x(1),y(1)), ... ''Color'',[0.2 0.2 0.2], ''FontSize'',8, ... ''HorizontalAlignment'',''left'', ''VerticalAlignment'',''top''); %# infinite loop i = 1; %# index while true %# update point & text set(hLine, ''XData'',x(i), ''YData'',y(i)) set(hTxt, ''Position'',[x(i) y(i)], ... ''String'',sprintf(''(%.3f,%.3f)'',[x(i) y(i)])) drawnow %# force refresh %#pause(DELAY) %# slow down animation i = rem(i+1,numPoints)+1; %# circular increment if ~ishandle(hLine), break; end %# in case you close the figure end