Plotting Negative Values in a Loop

Trying to plot values for a robot gripper using a for loop with a pause to get a graph that moves. Was just wondering why I can't plot these negative values.
The code used to plot was:
figure(3)
hold on
for i = 0:0.5:10
plot(x(i), y_fit(i))
pause(0.5)
hold off
end
The variables used were:
L = 1;
T = [0 2 5 8 10];
Angle = [-45 13 45 50 60];
Angle2 = [45 41 69 106 120];
a = polyfit(T, Angle, 3);
b = polyfit(T, Angle2, 3);
T = 0:0.5:10;
x = L*(cos(theta_Angle)) + L*cos((theta_Angle2));
y = L*(sin(theta_Angle)) + L*(sin(theta_Angle2));
p = polyfit(x, y, 3);
y_fit = polyval(p, x);
theta_Angle = (a(1)*(T.^3))+(a(2)*(T.^2))+(a(3)*T)+a(4);
theta_Angle2 = (b(1)*(T.^3))+(b(2)*(T.^2))+(b(3)*T)+b(4);

Antworten (2)

KSSV
KSSV am 4 Jun. 2019
Bearbeitet: KSSV am 4 Jun. 2019

0 Stimmen

figure(3)
hold on
for i = 1:1:10
plot(x(i), y_fit(i),'.')
pause(0.5)
end
hold off
OR
plot(x, y_fit)

2 Kommentare

Christopher Nguyen
Christopher Nguyen am 4 Jun. 2019
I tried implementing this and the loop works but for some reason nothing appears on the figure except for the values constantly changing on the axis.
KSSV
KSSV am 4 Jun. 2019
Edited.

Melden Sie sich an, um zu kommentieren.

Dennis
Dennis am 4 Jun. 2019

0 Stimmen

As KSSV already pointed out you need integers as array indices.
Additionally i would recommend to use markers to make your data points visible and move the 'hold off' out of the loop:
hold on
for i = 1:1:10
plot(x(i), y_fit(i),'marker','*')
pause(0.5)
end
hold off

Kategorien

Mehr zu Graphics Objects finden Sie in Hilfe-Center und File Exchange

Tags

Gefragt:

am 4 Jun. 2019

Bearbeitet:

am 4 Jun. 2019

Community Treasure Hunt

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

Start Hunting!

Translated by