How can I plot a smooth curve by using discrete data?
22 次查看(过去 30 天)
显示 更早的评论
k= [1, 2, 3, 4, 5]
x= [0.00744754, 0.0622484, 0.213328, 0.509606, 1]
y= [0.794477, 0.749407, 0.736212, 0.729962, 0.726323]
z= [1.42813, 1.31861, 1.2831, 1.26558, 1.25514]
plot x, y, z w.r.t k
0 个评论
采纳的回答
Joel Van Sickel
2020-9-9
Hello Liton,
you can use the interp functions to interpolate between your existing data points to smooth them out. To make it look like a curve, use spline interpolations: ex:
figure
knew = [1:0.01:5];
xnew = interp1(k,x,knew,'spline');
plot(k,x,'o',knew,xnew,':.');
title('Spline Interpolation');
Please see this documenation: https://www.mathworks.com/help/matlab/ref/interp1.html
Regards,
Joel
3 个评论
Joel Van Sickel
2020-9-9
you can call it seperately for each variable for 1d plots, if you need multi-dimensional plots, you can use the same approach, but with a higher order interpolation. Start here for resources on that: https://www.mathworks.com/help/matlab/interpolation.html
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!