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*');

 채택된 답변

Andrei Bobrov
Andrei Bobrov 2014년 3월 16일

0 개 추천

Use:
numberOfSamplesToTake = 20;
a = randperm(numel(y));
sampleIndexes = a(1:numberOfSamplesToTake);

댓글 수: 1

Kel
Kel 2014년 3월 16일
worked perfectly. i have been struggling with that for a long time. thank you so much.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Jos (10584)
Jos (10584) 2014년 3월 16일

0 개 추천

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) ;

카테고리

도움말 센터File Exchange에서 Logical에 대해 자세히 알아보기

질문:

Kel
2014년 3월 16일

댓글:

Kel
2014년 3월 16일

Community Treasure Hunt

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

Start Hunting!

Translated by