If/ElseIf Statement Inequality Not Resolving Correctly
Mostrar comentarios más antiguos
I'm trying to plot the angular position of a robotic arm whose equation of motion changes over time. Ideally the plot of the position should have this shape: 

but instead looks like this:

I have an if/elseif/else statement to handle the change in equation. The problem is that "else" part is being tripped for all values of t, which is why the plot is linear. I cannot seem to figure out why this is, but I can only assume it's because I've made some mistake with my if conditions. Below is a copy of my code. Any help would be appreciated. Thank you!
vm1 = 0.41415;
theta01 = -0.57982;
thetaf1 = 0.57982;
hold on
t = linspace(0,3);
if (t < 0.5)
theta1 = theta01 + (vm1 .* (t .^ 2));
elseif (t > 2.5)
theta1 = thetaf1 - (vm1 .* (9 - (6 .* t) + (t .^ 2)));
else
theta1 = vm1 .* (t - 1.5);
end
plot(t, theta1)
Respuesta aceptada
Más respuestas (0)
Categorías
Más información sobre Programming en Centro de ayuda y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

