Nombres aléatoires uniformément distribués - MATLAB rand - MathWorks France (2024)

Table of Contents
Syntaxe Description Exemples Matrice de nombres aléatoires Nombres aléatoires dans un intervalle spécifié Nombres entiers aléatoires Réinitialiser le générateur de nombres aléatoires Tableau 3D de nombres aléatoires Spécifier le type de données des nombres aléatoires Taille définie par le tableau existant Taille et type de données définis par le tableau existant Nombres complexes aléatoires Arguments d'entrée n — Taille de la matrice carrée valeur entière sz1,...,szN — Taille de chaque dimension (sous forme d’arguments distincts) valeurs entières sz — Taille de chaque dimension (en tant que vecteur ligne) valeurs entières typename — Type de données (classe) à créer "double" (par défaut) | "single" p — Prototype du tableau à créer tableau numérique s — Série de nombres aléatoires Objet RandStream Conseils Capacités étendues Génération de code C/C++ Générez du code C et C++ avec MATLAB® Coder™. Environnement basé sur les threads Exécutez du code en arrière-plan avec MATLAB® backgroundPool ou accélérez le code avec Parallel Computing Toolbox™ ThreadPool. GPU ArraysAccélérez le code en exécutant les calculs sur une unité de traitement graphique (GPU) avec Parallel Computing Toolbox™. Distributed arrays Divisez les tableaux volumineux dans la mémoire combinée de votre cluster avec Parallel Computing Toolbox™. Historique des versions R2022a: Faites correspondre la complexité avec "like" et utilisez "like" avec l’objet RandStream R2014a: Faire correspondre le type de données d’une variable existante avec 'like' R2013b: Les entrées de taille non entières ne sont pas supportées R2008b: Les entrées 'seed', 'state' et 'twister' ne sont pas recommandées Voir aussi Rubriques Commande MATLAB Americas Europe Asia Pacific

Nombres aléatoires uniformément distribués

réduire tous les éléments de la page

Syntaxe

X = rand

X = rand(n)

X = rand(sz1,...,szN)

X = rand(sz)

X = rand(___,typename)

X = rand(___,"like",p)

X = rand(s,___)

Description

X = rand renvoie un scalaire aléatoire tiré de la distribution uniforme dans l’intervalle (0,1).

exemple

X = rand(n) renvoie une matrice de nombres aléatoires uniformément distribués de dimension nxn.

exemple

X = rand(sz1,...,szN) renvoie un tableau de nombres aléatoires de dimension sz1x...xszNsz1,...,szN indiquent la taille de chaque dimension. Par exemple, rand(3,4) renvoie une matrice 3x4.

exemple

X = rand(sz) renvoie un tableau de nombres aléatoires où le vecteur de taille sz définit size(X). Par exemple, rand([3 4]) renvoie une matrice 3x4.

exemple

X = rand(___,typename) renvoie un tableau de nombres aléatoires dont le type de données est typename. L’entrée typename peut être soit "single" soit "double". Vous pouvez utiliser n’importe quel argument en entrée dans les syntaxes précédentes.

exemple

X = rand(___,"like",p) renvoie un tableau de nombres aléatoires tels que p, c’est-à-dire du même type de données et de la même complexité (réelle ou complexe) que p. Vous pouvez spécifier typename ou "like", mais pas les deux.

X = rand(s,___) génère des nombres à partir d’une série de nombres aléatoires s au lieu de la série globale par défaut. Pour créer une série, utilisez RandStream. Vous pouvez spécifier s suivi de n’importe quelle combinaison d’arguments en entrée dans les syntaxes précédentes.

Exemples

réduire tout

Matrice de nombres aléatoires

Ouvrir le live script

Générez une matrice 5x5 de nombres aléatoires uniformément distribués entre 0 et 1.

r = rand(5)
r = 5×5 0.8147 0.0975 0.1576 0.1419 0.6557 0.9058 0.2785 0.9706 0.4218 0.0357 0.1270 0.5469 0.9572 0.9157 0.8491 0.9134 0.9575 0.4854 0.7922 0.9340 0.6324 0.9649 0.8003 0.9595 0.6787

Nombres aléatoires dans un intervalle spécifié

Ouvrir le live script

Générez un vecteur colonne de nombres uniformément distribués de dimension 10x1 dans l’intervalle (-5,5).

r = -5 + (5+5)*rand(10,1)
r = 10×1 3.1472 4.0579 -3.7301 4.1338 1.3236 -4.0246 -2.2150 0.4688 4.5751 4.6489

En général, vous pouvez générer N nombres aléatoires dans l’intervalle (a,b) avec la formule r = a + (b-a).*rand(N,1).

Nombres entiers aléatoires

Ouvrir le live script

Utilisez la fonction randi (au lieu de rand) pour générer 5nombres entiers aléatoires à partir de la distribution uniforme entre 10 et 50.

r = randi([10 50],1,5)

Réinitialiser le générateur de nombres aléatoires

Ouvrir le live script

Sauvegardez l’état actuel du générateur de nombres aléatoires et créez un vecteur de nombres aléatoires de dimension 1x5.

s = rng;r = rand(1,5)
r = 1×5 0.8147 0.9058 0.1270 0.9134 0.6324

Restaurez l’état du générateur de nombres aléatoires sur s, puis créez un nouveau vecteur de nombres aléatoires de dimension 1x5. Les valeurs sont les mêmes qu’avant.

rng(s);r1 = rand(1,5)
r1 = 1×5 0.8147 0.9058 0.1270 0.9134 0.6324

Tableau 3D de nombres aléatoires

Ouvrir le live script

Créez un tableau de nombres aléatoires de dimension 3x2x3.

X = rand([3,2,3])
X = X(:,:,1) = 0.8147 0.9134 0.9058 0.6324 0.1270 0.0975X(:,:,2) = 0.2785 0.9649 0.5469 0.1576 0.9575 0.9706X(:,:,3) = 0.9572 0.1419 0.4854 0.4218 0.8003 0.9157

Spécifier le type de données des nombres aléatoires

Ouvrir le live script

Créez un vecteur de nombres aléatoires de dimension 1x4 dont les éléments sont de simple précision.

r = rand(1,4,"single")
r = 1x4 single row vector 0.8147 0.9058 0.1270 0.9134
class(r)
ans = 'single'

Taille définie par le tableau existant

Ouvrir le live script

Créez une matrice de nombres aléatoires uniformément distribués de la même taille qu’un tableau existant.

A = [3 2; -2 1];sz = size(A);X = rand(sz)
X = 2×2 0.8147 0.1270 0.9058 0.9134

Il est courant de combiner les deux lignes de code précédentes en une seule:

X = rand(size(A));

Taille et type de données définis par le tableau existant

Ouvrir le live script

Créez une matrice 2x2 avec des nombres aléatoires simple précision.

p = single([3 2; -2 1]);

Créez un tableau de nombres aléatoires de la même taille et du même type de données que p.

X = 2x2 single matrix 0.8147 0.1270 0.9058 0.9134
class(X)
ans = 'single'

Nombres complexes aléatoires

Ouvrir le live script

Générez 10nombres complexes aléatoires à partir de la distribution uniforme sur un domaine carré avec des parties réelles et imaginaires dans l’intervalle (0,1).

a = rand(10,1,"like",1i)
a = 10×1 complex 0.8147 + 0.9058i 0.1270 + 0.9134i 0.6324 + 0.0975i 0.2785 + 0.5469i 0.9575 + 0.9649i 0.1576 + 0.9706i 0.9572 + 0.4854i 0.8003 + 0.1419i 0.4218 + 0.9157i 0.7922 + 0.9595i

Arguments d'entrée

réduire tout

nTaille de la matrice carrée
valeur entière

Taille de la matrice carrée, spécifiée sous forme d’une valeur entière.

  • Si n est égal à 0, alors X est une matrice vide.

  • Si n est négatif, il est traité comme 0.

Types de données: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

sz1,...,szNTaille de chaque dimension (sous forme d’arguments distincts)
valeurs entières

Taille de chaque dimension, spécifiée sous forme d’arguments distincts de valeurs entières.

  • Si la taille d’une dimension est égale à 0, alors X est un tableau vide.

  • Si la taille d’une dimension est négative, elle est traitée comme une taille égale à 0.

  • Au-delà de la deuxième dimension, rand ignore les dimensions suivantes de taille 1. Par exemple, rand(3,1,1,1) produit un vecteur de nombres aléatoires de dimension 3x1.

Types de données: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

szTaille de chaque dimension (en tant que vecteur ligne)
valeurs entières

Taille de chaque dimension, spécifiée sous forme d’un vecteur ligne de valeurs entières. Chaque élément de ce vecteur indique la taille de la dimension correspondante:

  • Si la taille d’une dimension est égale à 0, alors X est un tableau vide.

  • Si la taille d’une dimension est négative, elle est traitée comme une taille égale à 0.

  • Au-delà de la deuxième dimension, rand ignore les dimensions suivantes de taille 1. Par exemple, rand([3 1 1 1]) produit un vecteur de nombres aléatoires de dimension 3x1.

Exemple: sz = [2 3 4] crée un tableau de dimension 2x3x4.

Types de données: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

typenameType de données (classe) à créer
"double" (par défaut) | "single"

Type de données (classe) à créer, spécifié comme "double", "single" ou le nom d’une autre classe supportant rand.

Exemple: rand(5,"single")

pPrototype du tableau à créer
tableau numérique

Prototype du tableau à créer, spécifié sous forme de tableau numérique.

Exemple: rand(5,"like",p)

Types de données: single | double
Support des nombres complexes: Oui

sSérie de nombres aléatoires
Objet RandStream

Série de nombres aléatoires, spécifiée sous forme d’un objet RandStream.

Exemple: s = RandStream("dsfmt19937"); rand(s,[3 1])

Conseils

  • La séquence de nombres produite par rand est déterminée par les paramètres internes du générateur de nombres pseudo-aléatoires uniforme qui sous-tend rand, randi et randn. Vous pouvez contrôler ce générateur de nombres aléatoires partagé à l’aide de rng.

Capacités étendues

Historique des versions

Introduit avant R2006a

développer tout

La spécification d’une dimension qui n’est pas un entier provoque une erreur. Utilisez floor pour convertir les entrées de taille non entières en nombres entiers.

Voir aussi

randi | randn | rng | RandStream | sprand | sprandn | randperm

Rubriques

  • Create Arrays of Random Numbers
  • Generate Random Numbers That Are Repeatable
  • Generate Random Numbers That Are Different
  • Random Numbers Within a Specific Range
  • Random Numbers Within a Sphere
  • Creating and Controlling a Random Number Stream
  • Class Support for Array-Creation Functions
  • Replace Discouraged Syntaxes of rand and randn
  • Why Do Random Numbers Repeat After Startup?

Commande MATLAB

Vous avez cliqué sur un lien qui correspond à cette commande MATLAB:

 

Pour exécuter la commande, saisissez-la dans la fenêtre de commande de MATLAB. Les navigateurs web ne supportent pas les commandes MATLAB.

Nombres aléatoires uniformément distribués - MATLAB rand- MathWorks France (1)

Select a Web Site

Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .

You can also select a web site from the following list:

Americas

  • América Latina (Español)
  • Canada (English)
  • United States (English)

Europe

  • Belgium (English)
  • Denmark (English)
  • Deutschland (Deutsch)
  • España (Español)
  • Finland (English)
  • France (Français)
  • Ireland (English)
  • Italia (Italiano)
  • Luxembourg (English)
  • Netherlands (English)
  • Norway (English)
  • Österreich (Deutsch)
  • Portugal (English)
  • Sweden (English)
  • Switzerland
    • Deutsch
    • English
    • Français
  • United Kingdom (English)

Asia Pacific

Contact your local office

Nombres aléatoires uniformément distribués - MATLAB rand
- MathWorks France (2024)
Top Articles
Latest Posts
Article information

Author: Velia Krajcik

Last Updated:

Views: 6312

Rating: 4.3 / 5 (54 voted)

Reviews: 85% of readers found this page helpful

Author information

Name: Velia Krajcik

Birthday: 1996-07-27

Address: 520 Balistreri Mount, South Armand, OR 60528

Phone: +466880739437

Job: Future Retail Associate

Hobby: Polo, Scouting, Worldbuilding, Cosplaying, Photography, Rowing, Nordic skating

Introduction: My name is Velia Krajcik, I am a handsome, clean, lucky, gleaming, magnificent, proud, glorious person who loves writing and wants to share my knowledge and understanding with you.