How do I plot a curve through these points?
7 次查看(过去 30 天)
显示 更早的评论
I have arrays of x and y values (both of equal length) and plotted the following graph using plot(x,y):

I want to plot smooth curves through these points so that I end up with a bell-shaped curve on top, and a second curve through the points that lie along the bottom.
However when I try to use Basic Fitting to plot a curve, I get the error 'Repeated X values are not permitted when fitting with a cubic interpolating spline. Remove repeated values'.
0 个评论
回答(1 个)
Star Strider
2016-1-10
You did not include your data (and I do not have the Curve Fitting Toolbox), but the unique function will likely help. You will likely need the first two outputs, something like this:
A = randi(9, 15, 2);
[Au, ia] = unique(A(:,1));
Aplot = A(ia,:);
where ‘A’ has the x-data in column 1, the y-data in column 2, and ‘Aplot’ is the sorted array with unique x-values and the first corresponding y-values the function found.
2 个评论
Star Strider
2016-1-10
I’m not sure what you’re doing, but one possibility is that you’re attempting to fit a much higher-degree polynomial than your data can approximate. Reduce the order of the polynomial.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Interpolation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!