How to Plot in a For Loop within a function?

Okay so I've made this for loop and if I turn it into an animated plot it works but when I want it to work as a normal plot all I get is a blank plot as my output how can I fix this?
function [] = hplot(data)
%
hold on
for i = i:numel(data.Time)
plot(data.Time(i), data.X(i))
end
hold off
end

Réponses (2)

madhan ravi
madhan ravi le 19 Oct 2018
Modifié(e) : madhan ravi le 19 Oct 2018
EDITED
data = load('heel_bottom.mat')
x = data.heel_bottom.left.X
time = data.heel_bottom.Time
'on'
size(time)
size(X)
for i = 1:numel(time)
plot(time(1:i), x(1:i),'-ob')
pause(0.1)
hold on;
end
'off'

5 commentaires

madhan ravi
madhan ravi le 19 Oct 2018
Add the first and last line of your code in my answer
Junior Roth
Junior Roth le 19 Oct 2018
Continues to do the same thing except for this time the axis just move around, but nothing is shown.
madhan ravi
madhan ravi le 19 Oct 2018
Can you upload the datas?
madhan ravi
madhan ravi le 19 Oct 2018
check the edited code now

Connectez-vous pour commenter.

Image Analyst
Image Analyst le 19 Oct 2018
Try this:
s = load('heel_bottom.mat')
heel_bottom = s.heel_bottom;
hplot(heel_bottom);
function [] = hplot(data)
numPoints = length(data.Time);
for i = 1:numPoints
fprintf('Plotting point %d of %d.\n', i, numPoints);
plot(data.Time(i), data.left.X(i), '.', 'MarkerSize', 20)
pause(0.05);
hold on;
end
grid on;
hold off
end

Catégories

En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by