2015-10-18 3 views

Répondre

1

Si vous voulez générer n échantillons aléatoires entre la limite donnée (dans votre question -1 et 1), vous pouvez utiliser la fonction rand.

Voici un exemple:

% Define minimum x value 
x_min=-1 
% Define maximum x value 
x_max=1 
% Define the number of sample to be generated 
n_sample=100 
% Generate the samples 
x_samples = sort(x_min + (x_max-x_min).*rand(n_sample,1)) 

Dans l'exemple, la fonction sort est appelée à trier les valeurs afin d'avoir une série ascendent.

x_min et (x_max-x_min) sont utilisés pour « décalage », la série de valeurs aléatoires de sorte qu'il appartient à l'intervalle désiré (dans ce cas -1 1), étant donné que les rendements rand nombre aléatoire dans un intervalle ouvert (0,1).

Si vous voulez avoir une matrice XY composée par les échantillons aléatoires et la valeur y constante définie (2):

y_val=2; 
xy=[x_samples ones(length(x_samples),1)*y_val] 

plot([x_min x_max],[y_val y_val],'linewidth',2) 
hold on 
plot(xy(:,1),xy(:,2),'d','markerfacecolor','r') 
grid on 
legend({'xy segment','random samples'}) 

(dans l'image, à seulement 20 échantillons ont été tracé pour le rendre plus clair)

enter image description here

Hope this helps.

+0

Merci.Ceci était très utile –

+0

De rien! Heureux que je t'ai servi. –