Random points on a curve

2 visualizaciones (últimos 30 días)
Amod
Amod el 24 de Sept. de 2023
Respondida: Torsten el 24 de Sept. de 2023
I have 2 arrays representing sets of data for velocity (Vx) and time (t) given. I get a curve by simply plotting them against each other. I want to take random points on this curve. How do I do it?

Respuestas (2)

Matt J
Matt J el 24 de Sept. de 2023
Youc an interpolate the curve at random points using interp1.

Torsten
Torsten el 24 de Sept. de 2023
mat = load("Vx and t.mat")
t = mat.t;
Vx = mat.Vx;
hold on
plot(t,Vx)
n = 100; % number of random points
r = rand(n,1);
random_values_t = min(t)*r + (max(t)-min(t))*(1-r);
random_values_Vx = interp1(t,Vx,random_values_t);
plot(random_values_t,random_values_Vx,'o','color','k')

Categorías

Más información sobre Interpolation en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by