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),'-')

 Akzeptierte Antwort

Stefano Ferrari
Stefano Ferrari am 5 Jan. 2021

0 Stimmen

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)

Weitere Antworten (1)

KSSV
KSSV am 5 Jan. 2021

0 Stimmen

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 Kommentare

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

Melden Sie sich an, um zu kommentieren.

Kategorien

Community Treasure Hunt

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

Start Hunting!

Translated by