Connecting Data points in a smooth curve
67 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Mohammad Farhat
am 19 Jul. 2018
Kommentiert: Image Analyst
am 22 Jul. 2018
How can I connect 2D data points in a smooth curve given that I can't use spline because it requires my x elements to be unique?
4 Kommentare
Akzeptierte Antwort
Akira Agata
am 20 Jul. 2018
You can do this task by applying the method used in the 2nd example in spline function help page.
The following is an example:
% Your data
x = [2 4 5 2 8 5];
y = [15 6 17 28 90 80];
% Cubic spline data interpolation
t = 1:numel(x);
xy = [x;y];
pp = spline(t,xy);
tInterp = linspace(1,numel(x));
xyInterp = ppval(pp, tInterp);
% Show the result
figure
plot(x,y,'o:')
hold on
plot(xyInterp(1,:),xyInterp(2,:))
legend({'Original data','Spline interpolation'},'FontSize',12)
2 Kommentare
Image Analyst
am 22 Jul. 2018
This looks like a 1-D situation, not a 2-D situation. You have one input/independent/x value, and one output/dependent/y value for each input value. That's 1-D, even if they can be plotted in an x-y plane.
Attach your data, and show exactly what you'd like as the output. Maybe you just want interp1() but you just have to average the values that don't have unique x values. Or else add a tiny bit of noise to the x values to separate them.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Smoothing finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!