I am trying to create random points around a defined polynomial.
The polynomial is created with defined points.
I have the polynom but I cannot creat the random points. Can someone please help me?
x_poly = [700 750 730 630 700 745 830 765 700];
y_poly = [0 266 570 780 1150 1300 1580 1880 2400];
%Create Polynom based on used point coordinates
t = (1:length(x_poly))';
Px = polyfit(t,x_poly,5);
Py = polyfit(t,y_poly,5);
ti = linspace(min(t),max(t));
plot(x_poly,y_poly,'o',polyval(Px,ti),polyval(Py,ti),'-')

 Réponse acceptée

Stefano Ferrari
Stefano Ferrari le 5 Jan 2021
Just managed to do it:
x_poly = [700 750 730 630 700 745 830 765 700];
y_poly = [0 266 570 780 1150 1300 1580 1880 2400];
t = (1:length(x_poly));
Px = polyfit(t,x_poly,7);
Py = polyfit(t,y_poly,7);
ti = linspace(min(t),max(t),600);
x=polyval(Px,ti+rand(1,600));
y=polyval(Py,ti+rand(1,600));
scatter(x,y)

Plus de réponses (1)

KSSV
KSSV le 5 Jan 2021
x_poly = [700 750 730 630 700 745 830 765 700];
y_poly = [0 266 570 780 1150 1300 1580 1880 2400];
%Create Polynom based on used point coordinates
t = (1:length(x_poly)); %<--- no transpose
Px = polyfit(t,x_poly,5);
Py = polyfit(t,y_poly,5);
ti = linspace(min(t),max(t));
plot(x_poly,y_poly,'o',polyval(Px,ti),polyval(Py,ti),'-')

3 commentaires

Stefano Ferrari
Stefano Ferrari le 5 Jan 2021
That does not change anything
KSSV
KSSV le 5 Jan 2021
Your error is solved...that's what I did. What exactly you want ?
Stefano Ferrari
Stefano Ferrari le 5 Jan 2021
I want to scatter points around the polynom (see picture).

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by