plot smoothing to get a curve

조회 수: 6 (최근 30일)
Lila wagou
Lila wagou 2016년 9월 10일
댓글: Star Strider 2016년 9월 10일
Hy how to use smooth option to get a curve plot
XA = 0:1:5
YA = 2.^XA
plot(XA,YA)

채택된 답변

Star Strider
Star Strider 2016년 9월 10일
Use the linspace function to create ‘XA’:
XA = linspace(0,5);
This creates 100 (by default) regularly-spaced elements for ‘XA’ between 0 and 5.
  댓글 수: 4
Lila wagou
Lila wagou 2016년 9월 10일
dear, why 50, and it does not work with the following data:
XA = [4,8,12,14,15,15.5,16,20]
YA = [100,400,100,200,150,175,160,160]
Star Strider
Star Strider 2016년 9월 10일
The choice of 50 interpolation points is simply my choice.
It does work with those data:
XA = [4,8,12,14,15,15.5,16,20];
YA = [100,400,100,200,150,175,160,160];
x = XA;
y = YA;
xi = linspace(min(x), max(x), 150); % Evenly-Spaced Interpolation Vector
yi = interp1(x, y, xi, 'spline', 'extrap');
figure(1)
plot(x, y, 'bp')
hold on
plot(xi, yi, '-r')
hold off
grid
xlabel('X')
ylabel('Y')
legend('Original Data', 'Interpolation', 'Location', 'NE')
If it produces a different result than you get with Excel, it is because the interpolation method is different. The 'spline' method I used here may be correct, and Excel may be wrong. I have no idea what Excel uses. MATLAB offers several different interpolation methods, so choose the one that is most appropriate to your data.
Preferably, if you have an appropriate mathematical model of the process that produced your data, use it, and fit it to your data, rather than using interpolation.

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Surface and Mesh Plots에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by