Random points on a curve

2 次查看(过去 30 天)
Amod
Amod 2023-9-24
回答: Torsten 2023-9-24
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?

回答(2 个)

Matt J
Matt J 2023-9-24
Youc an interpolate the curve at random points using interp1.

Torsten
Torsten 2023-9-24
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')

类别

Help CenterFile Exchange 中查找有关 Interpolation 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by