extract all points from curves

6 views (last 30 days)
Hello,
In the code below : Is there's any chance to have the coordinates of intermediate points (for example to have "y" when x=1.5 ) ...I just want to have all coordinates from curves, and not only natural numbers like x coordinates and y coordinates.
I've tried with "findobj" but It did not work. Thank you for your help.
x= [1,2,3,4,5,6,7,8,9,10]
y= [1,2,3,4,5,6,7,8,9,10]
figure
plot(x,y)
  1 Comment
Adam Danz
Adam Danz on 11 May 2021
> I just want to have all coordinates from curves
There are an infinite number of points on a curve. Even if you limit the interval to the lowest possible floating point representation, your system will likely reach memory capacity. For values 1 to 10, there would be something like 4*10^16 values.
Your options are to interpolate or fit the curve, both of which are demonstrated in the answers below.
(10-1)/eps
ans = 4.0532e+16

Sign in to comment.

Accepted Answer

Fangjun Jiang
Fangjun Jiang on 11 May 2021
x= [1,2,3,4,5,6,7,8,9,10]
y= [1,2,3,4,5,6,7,8,9,10]
in=[1.2,2.3,3.5]
out=interp1(x,y,in)

More Answers (2)

Image Analyst
Image Analyst on 11 May 2021
Try this:
% Create sample data.
x = [1,2,3,4,5,6,7,8,9,10]
y = [1,2,3,4,5,6,7,8,9,10]
% Add some noise to make the data "wavy".
y = y + rand(1, length(y));
markerSize = 20;
plot(x, y, 'bo', 'MarkerSize', markerSize);
grid on;
hold on;
xlabel('x', 'FontSize', 20);
ylabel('y', 'FontSize', 20);
% Define intermediate values.
desiredX = min(x) : 0.333333333 : max(x);
% Do a spline fit, which can follow curves better than interp with lines.
yFit = spline(x, y, desiredX);
plot(desiredX, yFit, 'r.', 'MarkerSize', markerSize);
legend('Original', 'Fit', 'Location', 'northwest');

Salwa Ben Mbarek
Salwa Ben Mbarek on 14 May 2021
Thanks to all of you for your explanations . It works !

Categories

Find more on Interpolation in Help Center and File Exchange

Tags

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!