MATLAB Answers

How can I plot a smooth curve by using discrete data?

21 views (last 30 days)
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


Sign in to comment.

Accepted Answer

Joel Van Sickel
Joel Van Sickel on 9 Sep 2020
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:
knew = [1:0.01:5];
xnew = interp1(k,x,knew,'spline');
title('Spline Interpolation');


Liton Pradhan
Liton Pradhan on 9 Sep 2020
What about for remaining two variables Y and Z. What can I write, if I have to use all X, Y, Z variables at a time by using Interpolation command.
Joel Van Sickel
Joel Van Sickel on 9 Sep 2020
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:

Sign in to comment.

More Answers (0)


Community Treasure Hunt

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

Start Hunting!

Translated by