2012-06-26 5 views
-4

Si nous avons un vecteuréchelle un vecteur dans Matlab

v=rand(1,n) 

et nous voulons mettre à l'échelle de la région [0,10] comment pouvons-nous le faire? Une idée?

+0

Voulez-vous des nombres entiers ou à virgule flottante dans le résultat? –

+0

Multipliez-le par '10/n'? – Ansari

+8

L'exemple 1 de l'aide de la fonction 'rand' vous montre comment procéder. N'avez-vous pas lu la documentation? –

Répondre

0

la sortie de » rand est dans la gamme de (0,1), donc si vous voulez une gamme de 11 entiers distincts - [0,10] --- vous devez multiplier le vecteur par 11, puis en appelant floor sur le résultat:

floor(v*11)

0

C'est assez facile en fait. La fonction rand génère toujours sortie dans la plage de (0,1), donc si vous souhaitez définir une nouvelle gamme je suggère le code suivant:

%//Set your min limit 
min = 0; 
%//Set your max limit 
max=10; 
v=min + (max-min).*rand(1,n); 

Je crois que cela devrait fonctionner.

Questions connexes