MATLAB Answers

extract all points from curves

16 ビュー (過去 30 日間)
Salwa Ben Mbarek
Salwa Ben Mbarek 2021 年 5 月 11 日
回答済み: Salwa Ben Mbarek 2021 年 5 月 14 日
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]
  1 件のコメント
Adam Danz
Adam Danz 2021 年 5 月 11 日
> 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.
ans = 4.0532e+16



Fangjun Jiang
Fangjun Jiang 2021 年 5 月 11 日
x= [1,2,3,4,5,6,7,8,9,10]
y= [1,2,3,4,5,6,7,8,9,10]

その他の回答 (2 件)

Image Analyst
Image Analyst 2021 年 5 月 11 日
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 2021 年 5 月 14 日
Thanks to all of you for your explanations . It works !





Community Treasure Hunt

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

Start Hunting!

Translated by