plotting X and Y coordinates over time
조회 수: 2 (최근 30일)
이전 댓글 표시
Hi, I have a data containing X and Y coordinates which I'd like to plot them over fixed time intervals. I tried to use linear interpolation but it doesn't work. Can anyone help me with this please.
Xp = [1:0.25:50693];
yp =interp1(X,Y,Xp,'linear');
figure
plot(X,Y,'o');
hold on
plot(Xp,yp,'r-');
xlabel('X');
ylabel('Y');
title('X and Y positions')
grid on
댓글 수: 3
Dyuman Joshi
2022년 7월 31일
Are there any repeating values in your data? That causes the error
X=[1 1 2 3 4 5 5]; %repeating values
Y=[2 3 4 5 6 7 8];
%you can check with repeating values in Y as well, it will give the same error
Xp=1:0.25:2.5;
Yp =interp1(X,Y,Xp,'linear')
답변 (1개)
Star Strider
2022년 7월 31일
편집: Star Strider
2022년 7월 31일
The data were not supplied, however it quite probably works correctly. You are asking it to do a linear interpolation, probably to a finer ‘x’ resolution, and it does exactly that.
The plots would appear to be the same because the method chosen is 'linear'. If you chose a different interpolation method, the plots might appear to be different.
EDIT — (31 Jul 2022 at 17:30)
To make the sample points unique:
X = sort(randi(50,100,1))
Y = randi(90, 100, 1)
[Ux,i1] = unique(X)
X = Ux;
Y = Y(i1);
Xp = [1:0.25:50693];
yp =interp1(X,Y,Xp,'linear');
figure
plot(X,Y,'o');
hold on
plot(Xp,yp,'r-');
xlabel('X');
ylabel('Y');
title('X and Y positions')
grid on
It would help to have the actual data, however this illustrates the concept.
.
댓글 수: 0
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
