Clear Filters
Clear Filters

Random points on a curve

2 views (last 30 days)
Amod
Amod on 24 Sep 2023
Answered: Torsten on 24 Sep 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?

Answers (2)

Matt J
Matt J on 24 Sep 2023
Youc an interpolate the curve at random points using interp1.

Torsten
Torsten on 24 Sep 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')

Categories

Find more on Interpolation in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!