extract all points from curves
6 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Salwa Ben Mbarek
am 11 Mai 2021
Beantwortet: Salwa Ben Mbarek
am 14 Mai 2021
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 Kommentar
Adam Danz
am 11 Mai 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
Akzeptierte Antwort
Fangjun Jiang
am 11 Mai 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)
0 Kommentare
Weitere Antworten (2)
Image Analyst
am 11 Mai 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');

0 Kommentare
Siehe auch
Kategorien
Mehr zu Interpolation 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!