How do I plot a function which depends on a changing variable?

So I have to plot the movement of a spring once let go for -2<t<20 given yo=5(distance the spring is stretched initially), w=5(angular frequency), k=0.1/s. It has to be done using a for loop and if statements.
I am new to matlab so I don't know what to do from here. Thank you.
Here's the code I have:
t = -2;
yo = 5;
w = 5;
k = 0.1;
for t = -2:20
if t < 0
y = -yo;
elseif t < 10
y = -yo*(cos(w*t));
else
y = -yo*(cos(w*t))*exp(-k*(t-10));
end
t = t + 0.1;
end

 Accepted Answer

You could use something like animatedline if you want to calculate a single point and add it to a graph. If you want to use a loop the more typical approach is to initialize t and y, then loop over t and update y.
t_all = -2:0.1:20;
y = zeros(1,length(t_all));
for i = 1:length(t_all)
t = t_all(i);
y(i) = ...
end
plot(t_all,y)

More Answers (0)

Categories

Find more on Programming in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!