need help using the rand function.

1 vue (au cours des 30 derniers jours)
Kel
Kel le 16 Mar 2014
Commenté : Kel le 16 Mar 2014
hey guys i have got Matlab2010a and i am trying to implement the code below but i can't seem to get it to work. when i run it in matlab, it comes up with an error saying: ??? Error using ==> randperm Too many input arguments.
fo=4 fs=100 ts=1/fs t=0:ts:1-ts n=length(t) y=2*sin(2*pi*fo*t) plot(t,y) numberOfSamplesToTake = 20; sampleIndexes = randperm(numel(y), numberOfSamplesToTake) % Plot the samples; ts = t(sampleIndexes) ys = y(sampleIndexes) hold on; plot(ts, ys, 'r*');

Réponse acceptée

Andrei Bobrov
Andrei Bobrov le 16 Mar 2014
Use:
numberOfSamplesToTake = 20;
a = randperm(numel(y));
sampleIndexes = a(1:numberOfSamplesToTake);
  1 commentaire
Kel
Kel le 16 Mar 2014
worked perfectly. i have been struggling with that for a long time. thank you so much.

Connectez-vous pour commenter.

Plus de réponses (1)

Jos (10584)
Jos (10584) le 16 Mar 2014
In recent versions of MatLab, randperm(N,M) randomises the numbers 1:N and takes the first M values. In older versions (like 2010a) you can mimic this functionality by replacing it with these two steps:
A = randperm(N) ;
A = A(1:M) ;

Catégories

En savoir plus sur Get Started with MATLAB dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by