Plotting Negative Values in a Loop

조회 수: 1 (최근 30일)
Christopher Nguyen
Christopher Nguyen 2019년 6월 4일
편집: KSSV 2019년 6월 4일
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);

답변 (2개)

KSSV
KSSV 2019년 6월 4일
편집: KSSV 2019년 6월 4일
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
Christopher Nguyen
Christopher Nguyen 2019년 6월 4일
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 2019년 6월 4일
Edited.

댓글을 달려면 로그인하십시오.


Dennis
Dennis 2019년 6월 4일
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

카테고리

Help CenterFile Exchange에서 Two y-axis에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by