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

4 vues (au cours des 30 derniers jours)
Rowan Miller
Rowan Miller le 4 Déc 2017
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

Réponse acceptée

Jim Hokanson
Jim Hokanson le 5 Déc 2017
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)

Plus de réponses (0)

Catégories

En savoir plus sur Programming dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by