Bonjour,
Je cherche à générer 50 nombres aléatoires sur l'intervalle [-1;1[ et à les stocker dans un vecteur pour pouvoir par la suite utiliser plusieurs fois la procédure. La somme des nombres doit être égale à 1. Le problème est que sur 100 simulations environ, il m'arrive d'avoir des valeurs supérieures à 1000 ou 10000 et je ne vois pas du tout d'où cela pourrait venir.
Voici ce que j'ai écrit:
Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Sub Génère_Portefeuille_Faisable() Option Base 1 Dim Vecteur_Poids(50, 1) As Double For i = 1 To 50 Vecteur_Poids(i, 1) = Rnd * 2 - 1 'Génère un nombre sur [-1;1[ Next i Somme_Poids = WorksheetFunction.Sum(Vecteur_Poids) For i = 1 To 50 Vecteur_Poids(i, 1) = Vecteur_Poids(i, 1) / Somme_Poids 'Normalise les poids pour que la somme soit égale à 1 Next i End Sub
Partager